我在两行上收到此通知,我试图使用 isset 修复它,但没有机会。
我收到有关变量$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>';
}
}
哪一个是解决此问题的方法,我有几个小时并尝试了所有方法,但仍然遇到相同的问题。你对此有什么想法吗?谢谢!
下面的编辑是所有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
}
}
你应该在使用
变量之前对其进行初始化:
$firsthalf = '';