在我的 Genesis Magazine pro 主题中,我试图在标题和内容之间添加一个小部件区域。我正在尝试做的在这里得到了完美的描述:https : //wpsites.net/web-design/add-widget-to-magazine-pro-front-page/但它似乎不起作用。当我将一个新的小部件添加到新的 before-home-top 小部件时,没有任何显示。我试过用我的 front-page.php 替换<?php/** * Magazine Pro. * * This file adds the front page to the Magazine Pro Theme. * * @package Magazine * @author StudioPress * @license GPL-2.0+ * @link http://my.studiopress.com/themes/magazine/ */add_action( 'genesis_meta', 'magazine_home_genesis_meta' );/** * Add widget support for homepage. If no widgets active, display the default loop. * * @since 3.0.0 */function magazine_home_genesis_meta() { if ( is_active_sidebar( 'home-top' ) || is_active_sidebar( 'home-middle' ) || is_active_sidebar( 'home-bottom' ) ) { // Force content-sidebar layout setting. add_filter( 'genesis_site_layout', '__genesis_return_content_sidebar' ); // Add magazine-home body class. add_filter( 'body_class', 'magazine_body_class' ); // Add homepage widgets. add_action( 'genesis_before_content_sidebar_wrap', 'before_home_top' ); // Remove the default Genesis loop. remove_action( 'genesis_loop', 'genesis_do_loop' ); // Add homepage widgets. add_action( 'genesis_loop', 'magazine_homepage_widgets' ); }}// Add body class to front page.function magazine_body_class( $classes ) { $classes[] = 'magazine-home'; return $classes;}function before_home_top() { genesis_widget_area( 'before-home-top', array( 'before' => '<div class="before-home-top widget-area">', 'after' => '</div>', ) );}// Output the widget areas for the front page.function magazine_homepage_widgets() { echo '<h2 class="screen-reader-text">' . __( 'Main Content', 'magazine-pro' ) . '</h2>';我在我的functions.php中添加了以下内容genesis_register_sidebar( array( 'id' => 'before-home-top', 'name' => __( 'Before Home Top', 'magazine-pro' ),) );我想在那里添加一个自定义 HTML 小部件,但没有显示任何内容。任何帮助将非常感激!
1 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
您在functions.php 中注册的侧边栏的名称是before-home-top
.
您的首页代码中有一个条件,用于检查三个侧边栏中的任何一个是否处于活动状态(包含小部件)。您没有看到任何内容的原因是因为这些检查都不是针对before-home-top
.
你的问题是这一行:
if ( is_active_sidebar( 'home-top' ) || is_active_sidebar( 'home-middle' ) || is_active_sidebar( 'home-bottom' ) ) {
将您的侧边栏添加到该检查列表中:
if ( is_active_sidebar( 'before-home-top' ) || is_active_sidebar( 'home-top' ) || is_active_sidebar( 'home-middle' ) || is_active_sidebar( 'home-bottom' ) ) {
您可能还希望删除您不打算注册的任何侧边栏。
- 1 回答
- 0 关注
- 200 浏览
添加回答
举报
0/150
提交
取消