douza19870617
2018-11-30 14:18
浏览 158
已采纳

我想在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.

图片转代码服务由CSDN问答提供 功能建议

我需要通过 header.php <仅在特定页面上添加自定义短代码 / p>

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

示例代码在此处:

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dtnqbre7980007 2018-11-30 14:27
    已采纳

    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.

    打赏 评论
  • dongwei3172 2018-11-30 14:23

    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]');
    }
    
    打赏 评论

相关推荐 更多相似问题