3

我已经在 wordpress 支持上发布了这个,但是这里的答案要快得多......

这是从那里的“复制粘贴”:

我想在我的 home.php 模板上有额外的小部件区域。我正在使用 Emil Uzelac 的响应式主题。我不知道为什么我的额外“侧边栏”不起作用。

dynamic_sidebar('front-side-sidebar');

该函数返回 true,但它不显示任何内容。我可以在“小部件”中看到我的额外小部件区域,并且我确实在那里添加了一个小部件。在我的functions.php中,我有这个:

function front_side_sidebar_init()
{
    register_sidebar(
        array(
            'id' => 'front-side-sidebar',
            'name'=>'Front Side sidebar',
            'description' => __('Front Side sidebar', 'responsive'),
            'before_widget' => '<li>',
            'after_widget' => '</li>',
            'before_title' => '<h3 class="widget-title">',
            'after_title' => '</h3>'
        )
    );
}
add_action( 'widgets_init', 'front_side_sidebar_init' );
4

2 回答 2

6

这就是我的做法,我不知道主题是否具有在主题选项中创建新侧边栏的功能,所以这就是我回答的原因。

在 Functions.php 添加这个

register_sidebar(array(
  'name' => __( 'Front Side sidebar' ),
  'id' => 'front-side-sidebar',
  'description' => __( '' ),
  'before_widget' => '<div class="widget">',
  'after_widget'  => '</div>',
  'before_title' => '<h3>',
  'after_title' => '</h3>'
));

如果您设置了静态首页,那么 wordpress 将使用 front-page.php。如果你没有这个,它将使用 page.php,我的英语不好,但在这里查看更多。这里!

在您的模板(front-page.php 或 page.php home.php 您正在使用的)中 ,将您的侧边栏区域 () 替换为

<?php get_sidebar('front-page'); ?>

此代码将查找文件 sidebar-front-page.php 并在该文件中添加此代码。在模板目录中添加sidebar-front-page.php

<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('front-side-sidebar')) : ?>(you can also put code here if you dont have anything in the this sidebar, it will show this function as standard if you dont have any thing on this sidebar.<?php endif; ?>

长话短说,此代码将检查 id 为“front-side-sidebar”的侧边栏,并显示您在侧边栏中设置的小部件。

是的,这应该工作!:)

于 2013-03-14T15:00:25.483 回答
-4

你解决了这里的问题吗?这听起来可能很傻,但请确保代码被您的 PHP 标记包围<?php ?>

于 2013-03-14T14:17:46.743 回答