WordPress apply_filters( 'the_content', 'func_name' ) 在另一个钩子中不工作

WordPress apply_filters( 'the_content', 'func_name' ) not working inside another hook

我正在尝试根据满足的某些条件在 产品单页 中显示 PAGE 内容

我在产品单页的特定操作挂钩位置显示此页面内容 如下代码所示:

add_filter( 'wp', array( $this, 'txb_add_page_check_single' ) );
public function txb_add_page_check_single() { 

    if ( is_single() ) {

        if ( some_condition_met ) {
            add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'txb_display_page_content_single' ) );
        }

    }

}

public function txb_display_page_content_single() {

    $txb_all_data_array = get_post( $some_page_id );

    //echo apply_filters( 'the_content', get_post_field( 'post_content', $txb_all_data_array->ID ) ); // CASE 1 : NOT WORKING

    $get_content_data = $txb_all_data_array->post_content;
    echo $get_content_data; //CASE 2 : Working
}

此处// CASE 1无效。

// CASE 1 正在返回 当前单个产品内容,但我想要 $some_page_id.

的页面内容

我想让它与 // CASE 1 一起使用,因为内容可能有简码或任何其他古腾堡块。

PS : 挂钩名称 woocommerce_after_add_to_cart_quantity 将根据满足的某些条件动态出现。

需要设置变量 $some_page_id,它传递 null,您将获得当前的单一产品内容。

将此代码放入您的活动主题的 functions.php 文件中 或自定义插件的主文件

add_filter('se152488_the_content', 'wptexturize');
add_filter('se152488_the_content', 'convert_smilies');
add_filter('se152488_the_content', 'convert_chars');
add_filter('se152488_the_content', 'wpautop');
add_filter('se152488_the_content', 'shortcode_unautop');
add_filter('se152488_the_content', 'prepend_attachment');

然后,像这样调用内容:

echo apply_filters(  'se152488_the_content' , $txb_all_data_array->post_content  );

来源:https://wordpress.stackexchange.com/a/152493/110795