我已经为我的WordPress网站创建了一些小部件。我使用了从免费WordPress主题中获得的回退数据小部件WordPress:https://wordpress.org/themes/brightpage.
因此,如果我没有在我的小部件中放置任何内容,那么显示默认内容。但是,当我将文本或图像之类的内容放入小部件时,默认内容将消失,而我刚才放入小部件的内容将出现。
但是,当我在小部件中放入文本或图像等内容时,它不会从WordPress管理面板中的小部件区域动态变化。
我想分享至少两个来自WordPress网站的例子。此代码表单标题。php:
<header class="fix header_top_area">
<div class="fix container header_top">
<?php if ( ! dynamic_sidebar( \'header-top\' ) ) : ?>
<div class="fix floatright header_top_text">
<div class="fix floatleft call">
<p>Chicago, USA, Call : 00 000 0000</p>
</div>
<div class="fix floatleft sign_in">
<a href="">Sign In</a>
</div>
</div>
<?php endif; ?>
</div>
</header>
<header class="fix header_bottom_area">
<?php if ( ! dynamic_sidebar( \'header-bottom\' ) ) : ?>
<div class="fix container header_bottom">
<figure class="fix floatleft logo">
<a href="<?php bloginfo(\'home\'); ?>"><img src="<?php bloginfo(\'template_url\');?>/img/logo.png" alt="" /></a>
</figure>
<figure class="fix floatright image_header">
<a href=""><img src="<?php bloginfo(\'template_url\');?>/img/image_header.jpg" alt="" /></a>
</figure>
</div>
<?php endif; ?>
此代码表单起作用。php:
add_action(\'widgets_init\', \'wp_widget_areas\');
function wp_widget_areas() {
register_sidebar( array(
\'name\' => __( \'Home Page Widget Header Top\', \'Perfect Point\' ),
\'id\' => \'header-top\',
\'before_widget\' => \'<div class="fix floatright header_top_text">\',
\'after_widget\' => \'</div>\',
\'before_title\' => \'<h2 style="display:none">\',
\'after_title\' => \'</h2>\',
) );
register_sidebar( array(
\'name\' => __( \'Home Page Widget Header Bottom\', \'Perfect Point\' ),
\'id\' => \'header-bottom\',
\'before_widget\' => \'<div class="fix container header_bottom">\',
\'after_widget\' => \'</div>\',
\'before_title\' => \'<h2 style="display:none">\',
\'after_title\' => \'</h2>\',
) );
}
如何激活这些小部件?有人能帮我修一下吗?谢谢
最合适的回答,由SO网友:Andi North 整理而成
如果我理解正确的话,您面临的问题是小部件在填充时没有显示出来。
这是由php引起的if
您使用的语句不包含else
论点如果您将代码更改为如下所示,它应该可以工作。
<header class="fix header_top_area">
<div class="fix container header_top">
<?php if (!dynamic_sidebar(\'header_top\')) : ?>
<div class="fix floatright header_top_text">
<div class="fix floatleft call">
<p>Chicago, USA, Call : 00 000 0000</p>
</div>
<div class="fix floatleft sign_in">
<a href="">Sign In</a>
</div>
</div>
<?php
else :
dynamic_sidebar(\'header_top\');
endif;
?>
</div>
</header>
<header class="fix header_bottom_area">
<?php if (!dynamic_sidebar(\'header_bottom\')) : ?>
<div class="fix container header_bottom">
<figure class="fix floatleft logo">
<a href="<?php bloginfo(\'home\'); ?>">
<img src="<?php bloginfo(\'template_url\');?>/img/logo.png" alt="" />
</a>
</figure>
<figure class="fix floatright image_header">
<a href="">
<img src="<?php bloginfo(\'template_url\');?>/img/image_header.jpg" alt="" />
</a>
</figure>
</div>
<?php
else :
dynamic_sidebar(\'header_bottom\');
endif;
?>
您使用的代码的问题是,它不知道该怎么做,因为侧边栏不是空的。使用上面的代码,当填充侧栏时,它将显示该内容。
如果这对你不起作用,请告诉我。