我想在WordPress上的特定页面上添加自定义短代码

问题描述:

I need to add custom shortcode only on the specific page through the header.php

This is confusing me a bit since I've tried to put is_page() only in if() but it doesn't work. I need from my code to do the following:

Example code is here:

$page = 'page_slug';
if (is_page($page)) {
   do_shortcode('[shortcode]');
}

From some reason, this doesn't work.

我需要通过 header.php code>

由于我试图仅在 if() code>中放入 is_page() code>,这让我感到困惑,但它没有 工作。 我需要从我的代码中执行以下操作: p>

示例代码在此处: p>

  $ page ='page_slug'; 
if(  is_page($ page)){
 do_shortcode('[shortcode]'); 
} 
  code>  pre> 
 
 

由于某种原因,这不起作用。 p> div>

You execute the function get_page in the if statement. Even though it is evaluated to false, the function is executed, I bet the problem comes from that.

Consider changing get_page to have it only returning boolean but not doing anyhting else.

Of course, then you can leave only the if statement and get rid of the else.

EDIT: Here's an example. else statement is empty, there shouldn't be anything but "bar" is printed as the function is executed to determine if if statement should be entered or not.

You don't need to use else as your code doesn't return or echo result

$page = '4827';
if (get_page($page)) {
  echo do_shortcode('[shortcode]');
}