我有一个注册的边栏,名为“我的标题”,它会影响标记中它下面元素的绝对位置。
所以我需要在标题中执行一个查询。php来确定当前帖子是否有侧边栏,并将类标识符写入主题的body标记。我将使用这个css类相应地调整元素的绝对位置。
是否有一种方法可以单独调用,与用于显示侧栏的方法不同,以确定帖子是否包含“我的侧栏”小部件的小部件内容?例如,只返回true/false的?
查看小部件后。php,我尝试使用is\\u active\\u提要栏(“my-header”),但它对所有页面都返回true。我需要一个接受post作为参数的函数。否则,如果不存在,我想我将创建自己的函数。
最合适的回答,由SO网友:Tom J Nowell 整理而成
<?php
$bodyclass = "";
// are we on a \'single\' page? e.g. a post or page or some other custom post type?
if(is_single()){
// is this a post of type \'page\'? or is it a blogpost?
global $post;
if($post->post_type == \'page\'){
// good now to check if we have a sidebar with active content
if( is_active_sidebar(\'my-header\')){
$bodyclass="wehavesidebarcontentyay";
}
}
}
?>
<body <?php body_class($bodyclass); ?>>
虽然我确信如果您的body标签上有body\\u类,那么您就已经有了所需的css类和选择器,可以在没有PHP代码的情况下完成这项工作。