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

How to create custom widget area and store content in footer?

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

我将此作为我创建的插件的一部分。因此,在主插件文件中,我尝试使用:

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

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

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

我不确定这是否正确...另一个问题是:我直接在我正在使用的主题的 footer.php 中添加这个,所以这意味着插件不会如果安装并激活了另一个主题,则工作。我应该编写一个函数来查找 footer.php 文件然后将其写入其中还是应该做其他事情。如果主题没有 footer.php 文件怎么办?

有两种添加小部件的方法: 1) 使用 Widgets on Page 插件 2) 您可以使用代码添加小部件。

1) 您可以直接安装Widgets on page插件。在那里你可以轻松地创建一个插件。我将显示在小部件中,它会生成一个简码,您可以将其放在 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' ); ?>

希望对您有所帮助..