2017-02-12 21 views
0

即时得到两行我尝试使用isset,但没有机会修复这个通知。注意:未定义的变量:firsthalf在WordPress插件

即时得到的变量声明$firsthalf$secondhalf

Notice: Undefined variable: firsthalf 

Notice: Undefined variable: firsthalf 

所以,代码如下:

for ($i=0;$i<$catCount;$i++) { 
if ($i<$catColumns){ 
$firsthalf = $firsthalf.''.$catArray[$i].'</li>'; 
} 
elseif ($i>=$catColumns){ 
$secondhalf = $secondhalf.''.$catArray[$i].'</li>'; 
} 
} 

哪一个是定为这我有时间并尝试了所有的方法,但仍然得到同样的问题。你有没有有没有关于这个的想法? Thanklyou!下面

编辑是所有WordPress的功能

function wpse97413_register_custom_widgets() { 
register_widget('wpse97411_WP_Widget_Categories'); 
register_widget('wpse97411_WP_Search_Widget'); 
} 
add_action('widgets_init', 'wpse97413_register_custom_widgets'); 

/* Widget Video Categories framework */ 
class wpse97411_WP_Widget_Categories extends WP_Widget { 

    public function __construct() { 
     $widget_ops = array('classname' => 'widget_categories', 'description' => __("A list of categories.")); 
     parent::__construct('categories', __('Categories'), $widget_ops); 
    } 

    public function widget($args, $instance) { 

     /** This filter is documented in wp-includes/default-widgets.php */ 
     $title = apply_filters('widget_title', empty($instance['title']) ? __('Categories') : $instance['title'], $instance, $this->id_base); 

     $c = ! empty($instance['count']) ? '1' : '0'; 
     $h = ! empty($instance['hierarchical']) ? '1' : '0'; 
     $d = ! empty($instance['dropdown']) ? '1' : '0'; 

     echo $args['before_widget']; 
     if ($title) { 
      echo $args['before_title'] . $title . $args['after_title']; 
     } 

$catArray = explode("</li>",wp_list_categories('title_li=&echo=0&depth=1&show_count=0')); 
$catCount = count($catArray) - 1; 
$catColumns = round($catCount/2); 
for ($i=0;$i<$catCount;$i++) { 
if ($i<$catColumns){ 
$firsthalf = $firsthalf.''.$catArray[$i].'</li>'; 
} 
elseif ($i>=$catColumns){ 
$secondhalf = $secondhalf.''.$catArray[$i].'</li>'; 
} 
} ?> 
<nav class="nav-categories"> 
<ul> 
<?php echo $firsthalf; ?> 
</ul> 
<div class="hidden-content" id="hidden-categories"> 
<ul> 
<?php echo $secondhalf; ?> 
</ul> 
</div> 
<button class="category-toggle" data-action="content-toggle" data-target="#hidden-categories" data-more="<?php _e('Show More Categories', 'framework'); ?>" data-less="<?php _e('Show Less Categories', 'framework'); ?>"><?php _e('Show More Categories', 'framework'); ?></button> 
</nav> 
    <?php echo $args['after_widget']; 
    } 

    public function update($new_instance, $old_instance) { 
     $instance = $old_instance; 
     $instance['title'] = strip_tags($new_instance['title']); 
     $instance['count'] = !empty($new_instance['count']) ? 1 : 0; 

     return $instance; 
    } 

    public function form($instance) { 
     //Defaults 
     $instance = wp_parse_args((array) $instance, array('title' => '')); 
     $title = esc_attr($instance['title']); 
     $count = isset($instance['count']) ? (bool) $instance['count'] :false; 
?> 
     <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> 
     <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p><br /> 
<?php 
    } 

} 
+0

被称为什么线的错误?这些变量在其他地方使用吗我觉得你错过了一些东西 – NoLiver92

+0

没有被称为上面的任何代码 – Gazi

+0

下面呢?你有一个if-else语句。当这两个条件都不符合时会发生什么? - 然后变量没有被定义。 。你也应该使用=追加到字符串,而不是打电话给你的定义 – NoLiver92

回答

2

你应该使用它之前初始化变量:

$firsthalf = ''; 
+1

是的,我试过了,但是当我做它不显示firsthalf类别,但只有一个类别中的小部件 – Gazi

+0

都是我的错然而三江源我以前试过,但现在的工作,所以这是解决方案很简单,但我不知道它为什么没有工作。无论如何谢谢! – Gazi

+0

欢迎:) – Ans