在《 Genesis Magazine》专业主题中,我试图在标题和内容之间添加小部件区域。我正在尝试做的事情在这里得到了完美的描述:https://wpsites.net/web-design/add-widget-to-magazine-pro-front-page/,但它似乎没有用。当我将新的小部件添加到新的home-top-top小部件中时,什么都没有显示。
我尝试将front-page.php替换为
color
并且我在我的functions.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>';
genesis_widget_area( 'home-top', array(
'before' => '<div class="home-top widget-area">',
'after' => '</div>',
) );
genesis_widget_area( 'home-middle', array(
'before' => '<div class="home-middle widget-area">',
'after' => '</div>',
) );
genesis_widget_area( 'home-bottom', array(
'before' => '<div class="home-bottom widget-area">',
'after' => '</div>',
) );
}
genesis();
我正在寻找在其中添加自定义HTML小部件的方法,但没有任何显示。任何帮助将不胜感激!
答案 0 :(得分:1)
您在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' ) ) {
您可能还希望删除所有您不想注册的侧边栏。