为了账号安全,请及时绑定邮箱和手机立即绑定

如何在主页上的默认提要之前添加小部件

如何在主页上的默认提要之前添加小部件

PHP
至尊宝的传说 2021-10-15 15:52:14
在我的 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' ) ) {

您可能还希望删除您不打算注册的任何侧边栏。


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 200 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信