【问题标题】:Relocate wordpress plugin output thats hooked into the content重新定位与内容挂钩的 wordpress 插件输出
【发布时间】:2018-07-27 19:48:49
【问题描述】:

我正在尝试重新定位由 wordpress 的评论插件生成的输出的位置。该插件挂钩到“the_content”的末尾。我找到了可以删除输出的过滤器:

remove_filter('the_content', array( EDD_Reviews::get_instance(), 'load_frontend'));

现在我正疯狂地试图将输出重新定位到一个新位置。我在我的主题文件中创建了一个自定义钩子:

function reviews() {
do_action('reviews');
}

当传递一个简单的函数时,上面的钩子可以很好地输出到主题文件中的自定义位置。然而,棘手的部分是要显示评论和评论表格。我试着用这个添加回来:

add_action('reviews', array( EDD_Reviews::get_instance(), 'load_frontend'));

这不起作用。我试图调用的完整功能如下。任何人都知道如何通过我的新钩子调用它?我有点卡住了。

public function load_frontend( $content ) {
           global $post;

           if ( $post && $post->post_type == 'download' && is_singular( 'download' ) && is_main_query() && ! post_password_required() ) {
                ob_start();
                edd_get_template_part( 'reviews' );
                if ( get_option( 'thread_comments' ) ) {
                     edd_get_template_part( 'reviews-reply' );
                }
                $content .= ob_get_contents();
                ob_end_clean();
           }

           return $content;
     }

提前非常感谢。

【问题讨论】:

    标签: wordpress filter hook action


    【解决方案1】:

    好吧,这主要是在学习课程后才知道的。如果其他人想要这样做,请按以下方式删除钩子:

    remove_filter('the_content', array( EDD_Reviews::get_instance(), 'load_frontend'));
    

    然后,以下行将在您喜欢的任何地方呈现评论和表单:

    <?php echo EDD_Reviews()->load_frontend( '' ); ?>
    

    【讨论】:

      猜你喜欢
      • 2018-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 2014-08-02
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多