如何仅在定义了自定义域的页面上显示小部件?

时间:2016-01-17 作者:Oranais

我有一组使用模板的本地页面,我只想在勾选了自定义复选框字段的页面上显示小部件。

1 个回复
SO网友:Adam

如果将自定义字段(元数据)附加到特定的帖子、页面或自定义帖子类型,则可以在页面模板文件中执行以下操作:

实例example-template-file.php

<?php 

    $sidebar_id           = \'my-custom-sidebar-id\';
    $my_custom_meta_value = get_post_meta(get_the_ID(), \'my_custom_meta_key\', true);

    if ( !empty($my_custom_meta_value) && is_active_sidebar($sidebar_id) ) {

        dynamic_sidebar($sidebar_id);

    }

?>
备注:dynamic_sidebar, is_active_sidebar

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'