2017-02-12 110 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