允许访问者在类别页面上发布评论

时间:2012-06-14 作者:Anders Norén

我正在寻找一种方法,让用户在类别上评论类别。php,但我还没有找到。简单的粘贴并没有起到作用(真的没想到)

为了澄清,我不想让用户评论分类中的帖子。php,而是对类别本身进行注释。有可能吗?

4 个回复
SO网友:Eugene Manuilov

简短回答:不,如果我们谈论的是WP方式,这是不可能的,因为它不是由WP架构提供的。

如果您创建自己的插件(或将其作为主题的一部分实现),就可以完成这一任务。为此,您需要创建自定义表并实现保存注释和显示注释的逻辑。

SO网友:djb

这是不可能的,因为WordPress只能处理广义上的评论,包括页面、自定义帖子类型等。

因为类别是一组帖子,而不是帖子本身,所以没有内置的功能将评论附加到类别。

如果类别相对较少,可以为每个类别创建一个页面。让他们使用包含自定义循环的自定义页面模板来获取类别成员,并包含注释表单。

您可以使用将标准类别链接重定向到此页面\'category_link\' filter.

SO网友:janw

创建custom page
使用您自己定制的loop
在该页面上启用注释。

它不会有相同的Url。

可以使用相同的url和原始的wp注释系统(无需自定义表),但这要困难得多
如果你想问这个问题,我会调查的。

SO网友:Marco Panichi

WordPress的默认评论系统不可能打印评论表单,您必须将comments_template() 在您的类别内。php模板文件。

不幸的是,如果不是在单个帖子或页面上,或者帖子没有评论,此函数将不会显示评论模板。

第三方评论系统解决方案(如discus)

如果您使用其他评论系统,该系统很可能不考虑WordPress结构(页面、帖子、类别等),而只依赖URL:每个网站URL都可以有自己的评论流。

例如,如果您的博客上安装了Disqs,您可以创建一个类别。像这样的php文件:

<?php get_header(); ?>

<div id="content">

    <?php if ( have_posts() ) : ?>

        <header class="archive-header">
            <h1 class="archive-title">Category: <?php single_cat_title( \'\', false ); ?></h1>        
            <?php if ( category_description() ) : ?>
                <div class="archive-meta"><?php echo category_description(); ?></div>
            <?php endif; ?>
        </header>

        <?php while ( have_posts() ) : the_post(); ?>       
            <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
            <small><?php the_time(\'F jS, Y\') ?> by <?php the_author_posts_link() ?></small>
            <div class="entry">
                <?php the_content(); ?>
            </div>
        <?php endwhile;

    else: ?>

        <p>Sorry, no posts matched your criteria.</p>

    <?php endif; ?>

    <h2>Comments</h2>

    <div id="disqus_thread"></div>
    <script>
        /**
         *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
         *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables
         */
        /*
        var disqus_config = function () {
            this.page.url = PAGE_URL;  // Replace PAGE_URL with your page\'s canonical URL variable
            this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page\'s unique identifier variable
        };
        */
        (function() {  // DON\'T EDIT BELOW THIS LINE
            var d = document, s = d.createElement(\'script\');

            s.src = \'//EXAMPLE.disqus.com/embed.js\';

            s.setAttribute(\'data-timestamp\', +new Date());
            (d.head || d.body).appendChild(s);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

</div>

<?php get_footer(); ?>
我根据中建议的模板创建了模板How to Create Category Templates in WordPress; 我使用中建议的片段添加了注释Manually install Disqus on WordPress.

这段代码在我自己的网站上进行了测试,效果很好。

结束

相关推荐

将筛选器添加到wp_Dropdown_Pages()或wp_Dropdown_Categories()-没有选择容器?

我在和wp_dropdown_pages() 和wp_dropdown_categories() 并且两者都始终输出<select>-盒子及其<option>s作为项目。有没有可能在这个函数中添加一个过滤器/挂钩,这样我就可以得到<option>s而不被包裹在<select>我这样问的原因是我想将页面和类别合并到一个下拉列表中。我找不到参数来设置这个!有什么想法吗?