个性化阅读
专注于IT技术分析

如何正确使用is_single隐藏我的数组?

我可以全局删除WP挂钩, 但是当我尝试在特定页面上删除它们时, 我的代码不起作用。我今天了解到, 我必须使用条件语句来实现这一目标, 并且经过长时间连续的搜索, 我认为我应该使用带有数组的” is_single标签”来实现此目的。我在阵列中使用产品ID。

如何在我的代码中放置条件标记和数组?

我试图将数组放置在函数内部没有成功。

这是全局删除钩子的代码:

function remove_woo_commerce_hooks() {
    global $avada_woocommerce;

    remove_action( 'woocommerce_after_single_product_summary', array( 
        $avada_woocommerce, 'output_related_products' ), 15 );

}

add_action( 'after_setup_theme', 'remove_woo_commerce_hooks' );

这是我仅删除数组中页面上的钩子而没有成功完成的工作:

function remove_woo_commerce_hooks() {
    global $avada_woocommerce;
    if ( is_single( array(20031, 17222))) {
        remove_action( 'woocommerce_after_single_product_summary', array( 
        $avada_woocommerce, 'output_related_products' ), 15 );
    }
}

add_action( 'after_setup_theme', 'remove_woo_commerce_hooks' );

我希望代码能从数组中标识的页面中删除related_products。

当我添加数组时, 我没有收到任何错误, 并且页面上的输出未更改。它仍然显示related_products。


#1


你不应该使用is_single, 但要检查帖子ID数组中是否包含该帖子ID。如果你的函数在” after_setup_theme”上触发, 你仍然无法获取全局$ post变量, 因此我将尝试使用” template_redirect”。

function remove_woo_commerce_hooks() {
    global $avada_woocommerce, $post;
    if ( is_object( $post ) && in_arry( $post->ID, array( 20031, 17222 ) ) ) {
        remove_action( 'woocommerce_after_single_product_summary', array( 
        $avada_woocommerce, 'output_related_products' ), 15 );
    }
}
add_action( 'template_redirect', 'remove_woo_commerce_hooks' );

#2


我可以全局删除WP挂钩, 但是当我尝试在特定页面上删除它们时, 我的代码不起作用。我今天了解到, 我必须使用条件语句来实现这一目标, 并且经过长时间连续的搜索, 我认为我应该使用带有数组的” is_single标签”来实现此目的。我在阵列中使用产品ID。

如何在我的代码中放置条件标记和数组?

我试图将数组放置在函数内部没有成功。

这是全局删除钩子的代码:

function remove_woo_commerce_hooks() {
    global $avada_woocommerce;

    remove_action( 'woocommerce_after_single_product_summary', array( 
        $avada_woocommerce, 'output_related_products' ), 15 );

}

add_action( 'after_setup_theme', 'remove_woo_commerce_hooks' );

这是我仅删除数组中页面上的钩子而没有成功完成的工作:

function remove_woo_commerce_hooks() {
    global $avada_woocommerce;
    if ( is_single( array(20031, 17222))) {
        remove_action( 'woocommerce_after_single_product_summary', array( 
        $avada_woocommerce, 'output_related_products' ), 15 );
    }
}

add_action( 'after_setup_theme', 'remove_woo_commerce_hooks' );

我希望代码能从数组中标识的页面中删除related_products。

当我添加数组时, 我没有收到任何错误, 并且页面上的输出未更改。它仍然显示related_products。


#3


你不应该使用is_single, 但要检查帖子ID数组中是否包含该帖子ID。如果你的函数在” after_setup_theme”上触发, 你仍然无法获取全局$ post变量, 因此我将尝试使用” template_redirect”。

function remove_woo_commerce_hooks() {
    global $avada_woocommerce, $post;
    if ( is_object( $post ) && in_arry( $post->ID, array( 20031, 17222 ) ) ) {
        remove_action( 'woocommerce_after_single_product_summary', array( 
        $avada_woocommerce, 'output_related_products' ), 15 );
    }
}
add_action( 'template_redirect', 'remove_woo_commerce_hooks' );
赞(0)
未经允许不得转载:srcmini » 如何正确使用is_single隐藏我的数组?

评论 抢沙发

评论前必须登录!