如何创建自定义小部件区域并将内容存储在页脚中?



我想创建一个自定义小部件区域并将其内容存储在页脚中。

我这样做是我正在创建的插件的一部分。因此,在主插件文件中,我尝试了:

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 管理外观 -> 小部件中显示小部件区域。

这是第一个问题...另一个是:当我弄清楚如何添加小部件区域时,如何实现存储在该自定义小部件区域中的小部件放置在页脚中?我正在考虑将其添加到我正在使用的主题的页脚.php文件中:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("Name of 
Widgetized Area") ) : ?>
<?php endif;?>

我不确定这是对的...另一个问题是:我直接将其添加到我正在使用的主题的页脚.php因此这意味着如果安装和激活另一个主题,该插件将无法工作。我应该编写一个函数来查找页脚.php文件,然后将其写入其中,还是应该做其他事情。如果主题没有页脚.php文件怎么办?

有两种方法可以添加小部件: 1(在页面上使用小部件插件 2(您可以使用代码添加小部件。

1(您可以直接在页面插件上安装小部件。在那里,您可以轻松创建插件。我将显示在小部件中,它将生成一个短代码,您可以将其放在页脚.php或要显示小部件的任何其他文件中

2(您可以使用以下代码创建小部件区域: 将此代码添加到您的主题功能中.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' );

,然后将此代码添加到页脚.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' ); ?>

希望这对您有所帮助..

最新更新