Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果页面id=。。{ }_Php_Wordpress_If Statement_Woocommerce - Fatal编程技术网

Php 如果页面id=。。{ }

Php 如果页面id=。。{ },php,wordpress,if-statement,woocommerce,Php,Wordpress,If Statement,Woocommerce,我试图在Woocommerce中将特定功能应用于某个页面ID。 然而,它似乎并不适用。我已经看过Wordpress和Woommerce条件标记() 我正在测试的简单代码如下所示,但即使这样也不起作用 if ( is_product()) { echo ' HALLO sdfdsfsdfsdfsdf '; } 我也尝试过使用page_id和post_id,但无法使其正常工作。 我已将此代码添加到我的子主题中的functions.php中 有人知道只为特定的产品页面编写特定的函数吗(我知道

我试图在Woocommerce中将特定功能应用于某个页面ID。 然而,它似乎并不适用。我已经看过Wordpress和Woommerce条件标记()

我正在测试的简单代码如下所示,但即使这样也不起作用

if ( is_product()) {
    echo ' HALLO sdfdsfsdfsdfsdf ';
}
我也尝试过使用page_id和post_id,但无法使其正常工作。 我已将此代码添加到我的子主题中的functions.php中

有人知道只为特定的产品页面编写特定的函数吗(我知道值)。

Method-1
is_page()
依赖于一个完整的全局$wp_查询对象。如果在触发操作
template\u redirect
之前调用它,则可能无法获取该数据

add_filter( 'template_include', function( $template ) {
    if ( is_product() )
        echo 'HELLO';

    return $template;
});

方法2 WordPress/在启动wp操作之前不会工作,这使得它成为您可以使用标记的最早点。您可以在操作参考页面查看整个列表以及核心WordPress操作的顺序

add_action( 'wp', 'init' );
function init() {    
  if ( is_shop() ) {    
    echo 'HELLO, this works!';
  }    
}

“特定产品页”?如果是特定页面或特定帖子,您是否希望
echo
?另外,你确定它没有回声吗?检查元素->Ctrl+F(查找)->键入“你好…”您使用了什么操作/过滤器?@dzinee您检查过我的代码了吗?很抱歉,前几天我生病了。谢谢你的建议@我正在尝试你的代码。我不完全明白你在说什么,但我会复制粘贴该代码吗?@AntonisTsimourtos最后,我希望特定的代码只在特定的产品上工作(例如,隐藏“审阅”选项卡)。但为了验证这一点,我只是想回应一些东西。是的!我认为方法1有效。我收到了一个回音(它打断了整个页面),但现在我要看看我是否可以使某些东西只适用于这个产品。我可以问你,你将如何整合产品ID?可以说add_filter('template_include',函数($template){if(is_product(190))回显'HELLO';返回$template;});或者你需要说id=190edit:或者你需要使用is_single?现在我尝试了:添加_过滤器('template_include',函数($template){if(is_product(810))回显'HELLO';返回$template;});我意识到这个问题可能不够具体。这是我只想应用于特定产品的代码示例:@dzinee您可以使用类似于
global$product的代码;如果($product->id==1&&is_product()){echo'HELLO';}