Conditional tags not working

时间:2013-10-21 作者:Steve

我只想显示一些CSSthis page.

在主题的标题中。php,我已经尝试了这两种方法:

<?php if(is_page(\'events\')) { ?>
<style>
  #main {
    background-image: none;
  }
</style>
<?php } ?>
以及

<?php if(is_page(43)) { ?>
<style>
  #main {
    background-image: none;
  }
</style>
<?php } ?>
但这些都没有成功。

我假设slug是“events”,我知道页面ID是43。

为什么这两个都失败了?

谢谢

3 个回复
最合适的回答,由SO网友:Kumar 整理而成

您可以在wp\\u head挂接代码,将其添加到head中,或在wp\\u footer中添加到footer中,而不是在任何地方重复您的样式,看看它是否适合您,

function my_custom_style(){
  global $post;
  if ( !empty ( $post->post_name ) && $post->post_name == \'events\' ){ ?>
      <style type="text/css"> 
        #main { background-image: none; }
      </style>
  }

}
add_action ( \'wp_head\', \'my_custom_style\' );

add_action ( \'wp_footer\', \'my_custom_style\' );
我刚刚看到您的页面,如果您可以修改样式,请将以下内容添加到其中:

 .events-gridview.events-archive #main {
      background: none;
  }
如果不能,则使用

  function my_custom_style(){ ?>
     <style type="text/css"> 
        .events-gridview.events-archive #main {
           background: none;
        }
      </style> <?php
  }

}
add_action ( \'wp_head\', \'my_custom_style\' );
这将不会产生冲突。

SO网友:dipali

获取post id outside 这个loop 使用以下代码:

<?php 
global $post; 
$id_of_page_or_post=$post->ID;
if($id_of_page_or_post==43){
//do your stuff
} 
?>

SO网友:Kaushik Kishore

您可以使用。get_the_ID() 函数获取页面或帖子的id。然后写一个

$id_of_page_or_post = get_the_ID();
if($id_of_page_or_post==43){
// do something
}
有关更多参考,请参阅Wordpress Codex of get_the_ID

结束

相关推荐