显示特定页面的特定页脚小工具

时间:2018-10-12 作者:Joe

我用这段代码注册了一个新的页脚小部件。

register_sidebar(array(
  \'name\' => esc_html__( \'Footer Sidebarprestige\', \'realtor\' ),
  \'id\' => \'footer-sidebarprestige\',
  \'description\' => esc_html__( \'Widgets in this area will be shown in Footer Area.\', \'realtor\' ),
  \'class\'=>\'\',
  \'before_widget\'=>\'<li id="%1$s"  class="col-md-3 col-sm-6 widget %2$s">\',
  \'after_widget\'=>\'</li>\',
  \'before_title\' => \'<h5>\',
  \'after_title\' => \'</h5>\'
));
我在我的页脚中调用了它。php文件如下:

<ul class="row">

   <?php dynamic_sidebar(\'footer-sidebar\'); ?>

 </ul>

  <ul class="row">

   <?php dynamic_sidebar(\'footer-sidebarprestige\'); ?>

 </ul>
“页脚侧边栏”是原始小部件,“页脚侧边栏Prestige”是我添加的。现在的情况是,如果我将一个小部件添加到我添加的小部件区域,它会显示在原来的小部件下,我理解为什么。

我想做的事。调用我仅为特定页面ID添加的小部件区域。基本上,仅在调用的页面ID上显示新创建的页脚小部件,而不显示原始小部件区域。

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

有几种方法可以实现这一点:

A、 使用CSS根据您所在的页面隐藏和显示小部件。这是一个很好的解决方法,但它并不能真正解决您的问题,尤其是当您有很多页面/小部件时。

B、 使用条件逻辑调用模板文件中的其他小部件区域

<ul class="row">
   <?php if(is_page(\'my-page\')){
      dynamic_sidebar(\'footer-sidebarprestige\');
   } ?> 
</ul>
C.使用插件,如Widget Logic 在小部件本身上使用条件逻辑。然后可以添加如下条件is_page(\'my-page\') 用于显示小部件,每个小部件一个小部件。

SO网友:Remzi Cavdar

我的理解是,您希望在特定页面上显示一个小部件,对吗?您可以使用插件:https://wordpress.org/plugins/widget-context/

SO网友:Joe

用以下代码计算出来:

<ul class="row">

   <?php if ( is_page( 1111 )) : ?>
   <?php dynamic_sidebar(\'footer-sidebarprestige\'); ?>
   <?php else :?>
   <?php dynamic_sidebar(\'footer-sidebar\'); ?>
   <?php endif; ?>

  </ul>
谢谢你,皮姆,你让我找到了正确的答案

结束

相关推荐

如何找到WordPress主题设置的php变量

我不熟悉PHP和WordPress,但我对python有一些经验,我的网站使用了Traveler主题。如何找到主题设置中存在的汇率变量(屏幕截图上的红色方块)?我需要用另一个功能自动更改,而不是通过主题设置手动更改。有什么可能的方法可以找到这样的变量,或者是否有存储所有主题变量的约定?我找到的唯一一段最接近的代码是截图#2(wp-content/themes/traveler/inc/st-theme-options.php),但我不确定这是否是我所需要的&;如何重新分配。谢谢