php - Wordpress 自定义侧边栏模板未激活
问题描述
我正在开发一个 wordpress 网站(我的第一个网站),我想在该网站上为特定页面模板使用特定的侧边栏。侧边栏不是常规的小部件区域,而是调用表单的另一个模板(boeking.php)的模板(sidebar-2.php)。
我使用默认的 page.php 和 sidebar.php 作为起点,复制了几乎所有内容,从而为使用get_sidebar('2')
. 我还创建了一个模板 sidebar-2.php:
起初它可以工作,但是当我在网站的另一部分工作时,它突然停止工作。页面模板工作正常,但它不加载侧边栏 2,因为is_active_sidebar()
返回 false。但是,我不知道为什么它返回 false。当我get_sidebar()
在 reisbeschrijving.php 中调用(默认)时,它会显示 sidebar.php,并is_active_sidebar()
返回 true。如果我删除 ifis_active_sidebar()
子句,sidebar-2 会显示得很好。sidebar.php 和 sidebar-2.php 都在同一个文件夹中(子主题)。
我错过了什么?我应该在标题中的某处注册新的 sidebar-2 模板吗?我知道带有小部件区域的自定义动态侧边栏就是这种情况,但这是一个全新的模板,我认为我不必这样做(无论如何我都尝试过,但无济于事)。is_active_sidebar
非常感谢任何关于为什么在我的第二个侧边栏上返回“false”的提示。
解决方案
第一个注册侧边栏 - functions.php
function my_custom_sidebar() {
register_sidebar(
array (
'name' => __( 'Custom', 'your-theme-domain' ),
'id' => 'custom-side-bar',
'description' => __( 'Custom Sidebar', 'your-theme-domain' ),
'before_widget' => '<div class="widget-content">',
'after_widget' => "</div>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
}
add_action( 'widgets_init', 'my_custom_sidebar' );
将此代码放入模板中
if ( is_active_sidebar( 'custom-side-bar' ) ) : dynamic_sidebar( 'custom-side-bar' ); 万一;
这将 100% 有效
推荐阅读
- amazon-web-services - AWS S3 凭证问题日志消息,但 S3Client.putObject() 成功
- meteor - 如何知道是什么触发了反应
- javascript - 在 React 中以 PNG 格式下载图表而不覆盖 DOM
- python - 如何使用 python pandas 比较来自两个不同 csv 的单元格值
- g++ - 串流分段错误
- html - html 元素:换行符后但不展开
- c# - 无法在 CentOS amd64 上执行二进制文件
- linux - 尝试在 Docker 映像上使用 PyODBC 时找不到 libssl.so.1.0.2 和 libssl.so.1.0.2
- vue.js - 如何在 vuetify 中将 Carousel 组件固定为特定的纵横比
- google-maps - 在 Play 商店发布应用程序后,Google 地图无法正常工作