0

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

作为我正在创建的插件的一部分,我正在这样做。所以,在主插件文件中,我尝试了:

 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 Appearance -> Widgets 中显示小部件区域。

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

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

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

4

1 回答 1

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' ); ?>

希望对你有帮助..

于 2018-10-22T05:13:56.880 回答