自定义签名在页面上出现两次

时间:2016-10-03 作者:Xaqron

我有一个简单的插件,在每篇文章的末尾添加一个签名。但它也出现在用户评论部分之后。如何避免后者?

Update

我曾经尝试通过添加一个静态变量来运行该函数。现在签名只是添加到评论部分。我需要的正好相反。希望这有帮助。

<?php
/*
header...
*/

if( !function_exists("add_signature")){
    function add_signature($content){

    /* code related to update
    static $once;

    if ( $once !== null )
            return $content;
        else
            $once = \'done\';
    */

        if( !is_page() )
            return $content . "signature";
    }
    add_filter(\'the_content\', \'add_signature\');
}

?>

2 个回复
SO网友:Aniruddha Gawade

可以使用get\\u post\\u type()检查要将签名附加到哪些内容。

function add_signature($content){
    if( get_post_type() == \'post\' )
        return $content . "signature";
}
add_filter(\'the_content\', \'add_signature\');

SO网友:GKS
add_filter( \'the_content\', \'add_signature\' );

function add_signature( $content ) {
    if ( is_single() && in_the_loop() && is_main_query() &&  get_post_type() == \'post\' ) {
        return $content .  "signature";
    }

    return $content;
}

相关推荐

Apply_Filters()对所需的参数进行切片

我正在尝试向WooCommerce订单中的每个退款行添加一个按钮(其功能超出了这个问题的范围,足以说明它需要退款id作为参数)。我发现这些行是在woocommerce\\includes\\admin\\meta Box\\views\\html订单退款中创建的。无法重写的php。然而,有一项行动:do_action( \'woocommerce_admin_order_item_values\', null, $refund, $refund->get_id() ); 这似乎非常适合我的