我有很多定制的小部件,它们看起来都差不多。我有一个有3个博客的多站点博客。这些小部件被单独配置为在所有3个博客上显示,并在外观->小部件中进行自己的设置。
所有小部件通常显示在第一个主博客上。在其他博客上,some 的小部件不显示。我在下面给出了两个小部件的示例-gem_countryFilter_Widget()
到处都是,但gem_joinConversation_Widget()
只出现在主博客上,尽管它在所有博客上都进行了配置,并且是与其他小部件相同的侧栏的一部分。我看不出两者之间有什么区别,所以我对问题所在感到困惑。
这些小部件也在以前的自定义主题中使用,尚未修改。在前一个主题中,这些小部件按预期出现在所有博客上。我试着复制函数。php文件(声明小部件的地方)直接从旧主题转换到新主题,但没有效果——一些小部件只是在非主要博客上消失了。
主题就是问题,这似乎是合乎逻辑的,但我在哪里可以找到诊断它的答案,这是一个空白。以前有人遇到过类似的问题吗?
sample code:
/**join conversation**/
class gem_joinConversation_Widget extends WP_Widget {
function gem_joinConversation_Widget() {
parent::WP_Widget(false, \'Join the Conversation\');
}
function form($instance) {
// outputs the options form on admin
echo \'<p>Displays the social and sharing icons in the sidebar. There are no options for this widget.</p>\';
}
function update($new_instance, $old_instance) {
// processes widget options to be saved
return $new_instance;
}
function widget($args, $instance) {
// outputs the content of the widget
gem_joinConversation();
}
}
register_widget(\'gem_joinConversation_Widget\');
function gem_joinConversation($args = array()){
?>
<ul class="featurebox">
<li>
<div class="widget text-3">
<h2>Join the conversation</h2>
<div class="body">
<div class="textwidget">
<div class="social-icons">
<a href="/" target="_blank"><img width="27" height="27" src="/wp-content/themes/gem_main/images/icon-gem.png" alt="Corporate"/></a>
<a href="/" target="_blank"><img width="27" height="27" src="/wp-content/themes/gem_main/images/icon-facebook.gif" alt="Facebook"/></a>
</div>
</div>
</div>
</div>
</li>
</ul>
<?php
}
/**Country filter**/
class gem_countryFilter_Widget extends WP_Widget {
function gem_countryFilter_Widget() {
parent::WP_Widget(false, \'Country filter\');
}
function form($instance) {
// outputs the options form on admin
echo \'<p>Displays a dropdown list of blogs. There are no options for this widget.</p>\';
}
function update($new_instance, $old_instance) {
// processes widget options to be saved
return $new_instance;
}
function widget($args, $instance) {
// outputs the content of the widget
gem_countryFilter();
}
}
register_widget(\'gem_countryFilter_Widget\');
function gem_countryFilter($args = array()){
?>
<ul class="country-filter">
<li>
<h2>Filter by country</h2>
<ul class="country-filter-list">
<li><a href="#" class="country-brazil">Brazil</a></li>
<li><a href="#" class="country-china">China</a></li>
<li><a href="#" class="country-france">France</a></li>
</ul>
</li>
</ul>
<?php
}