我想创建一个自定义窗口小部件区域并将其内容存储在页脚中。
我正在将其作为我正在创建的插件的一部分。因此,在主插件文件中,我尝试了:
if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'Name of Widgetized Area',
'before_widget' => '<div class = "widgetizedArea">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
)
);
,但是在wordpress管理员外观->小部件中没有显示小部件区域。
这是第一个问题...另一个是:当我弄清楚如何添加小部件区域时,如何实现将存储在该自定义小部件区域中的小部件放在页脚中?我正在考虑将其添加到我正在使用的主题的footer.php文件中:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("Name of
Widgetized Area") ) : ?>
<?php endif;?>
我不确定这是正确的...另一个问题是:我将其直接添加到我正在使用的主题的footer.php中,因此这意味着如果另一个主题该插件将无法工作已安装并激活。我应该编写一个函数来查找footer.php文件,然后在其中写入它,还是应该做其他事情。如果主题没有footer.php文件怎么办?
答案 0 :(得分:0)
有两种添加小部件的方法: 1)使用页面上的小部件插件 2)您可以使用代码添加小部件。
1)您可以直接在页面上安装窗口小部件插件。您可以在那里轻松创建插件。我将显示在小部件中,它将生成一个简码,您可以将其放置在footer.php或要显示小部件的任何其他文件中
2)您可以使用以下代码创建小部件区域: 将此代码添加到您的主题funtion.php
function arphabet_widgets_init() {
register_sidebar( array(
'name' => 'Home right sidebar',
'id' => 'home_right_1',
'before_widget' => '<div>',
'after_widget' => '</div>',
'before_title' => '<h2 class="rounded">',
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'arphabet_widgets_init' );
,然后将此代码添加到footer.php
<?php if ( is_active_sidebar( 'home_right_1' ) ) : ?>
<div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
<?php dynamic_sidebar( 'home_right_1' ); ?>
</div><!-- #primary-sidebar -->
<?php endif; ?>
这是输出小部件的功能:
<?php dynamic_sidebar( 'home_right_1' ); ?>
希望这会对您有所帮助。