reza_yki 103 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 سلام من ابزارکی نوشتم که کاربر بتونه به وسیله select option به صورتی multi بتونه چندین دسته رو انتخاب کنه همه چیز درست و بدون مشکل کار میکنه فقط یه مشکل هست اونم اینه که وقتی ابزارک رو برای اولین بار فعال میکنی خطای زیر رو میده وباید یه دونه دسته رو انتخاب و ذخیره کنی تا ابزارک به صورت صحیح کارکنه لطفا راهنماییم کنید. Warning: in_array() expects parameter 2 to be array, string given in E:\Program Files\xampp\htdocs\wordpress\wp-content\themes\mymag\functions\widgets\widgets.php on line 29 اینم سورس کد: <?php public function form( $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : esc_html__( 'عنوان ابزارک', 'text_domain' ); $args = array( 'hide_empty' => 0, 'type' => 'post', 'taxonomy' => 'category', 'orderby' => 'name', 'hierarchical' => true, ); $cats = get_categories( $args ); $instance['cat_id'] = isset( $instance['cat_id'] ) ? ( $instance['cat_id'] ) : '1'; $count_cat = isset ($instance['cat_id']) ? count($instance['cat_id']) : '1' ; $tab_number = isset( $count_cat ) ? absint( $count_cat ) : 1; ?> <p> <label for="<?php echo $this->get_field_name( 'title' ); ?>"><?php _e( 'Title:' ); ?></label><br> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('tab_number'); ?>"><?php _e( 'تعداد زبانه:'); ?></label><br> <input id="<?php echo $this->get_field_id('tab_number'); ?>" name="<?php echo $this->get_field_name('tab_number'); ?>" type="number" min="0" class="my_widget_number" value="<?php echo $tab_number; ?>" size="3" /> </p> <label for="<?php echo $this->get_field_name( 'cat_id' ); ?>"><?php _e( 'انتخاب دسته بندی : ' ); ?></label> <select id="<?php echo $this->get_field_id( 'cat_id' ); ?>" name="<?php echo $this->get_field_name( 'cat_id[]' ); ?>" multiple="multiple" style="width: 100%; margin: 10px auto; height: auto;"> <?php foreach( $cats as $cat ): ?> <option value="<?php echo esc_attr(__($cat->term_id)); ?>"<?php selected(in_array($cat->term_id, $instance['cat_id'])); // selected($cat->term_id,$cats_id) ?>><?php echo esc_attr(__($cat->name)); ?></option> <?php endforeach; ?> </select> <p> <input type="text" value="<?php echo esc_attr(__(implode(',', $instance['cat_id']))); ?>"> </p> <?php } نقل قول لینک به ارسال
Monica 322 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 (ویرایش شده) در 8 ساعت قبل، reza_yki گفته است : سلام من ابزارکی نوشتم که کاربر بتونه به وسیله select option به صورتی multi بتونه چندین دسته رو انتخاب کنه همه چیز درست و بدون مشکل کار میکنه فقط یه مشکل هست اونم اینه که وقتی ابزارک رو برای اولین بار فعال میکنی خطای زیر رو میده وباید یه دونه دسته رو انتخاب و ذخیره کنی تا ابزارک به صورت صحیح کارکنه لطفا راهنماییم کنید. Warning: in_array() expects parameter 2 to be array, string given in E:\Program Files\xampp\htdocs\wordpress\wp-content\themes\mymag\functions\widgets\widgets.php on line 29 اینم سورس کد: باسلام اگر هاست دارید آنلاین با php 5.6 یا 7.0 امتحان کنید، نباید مشکلی باشه ویرایش شده آذر 96 توسط nazanin123 نقل قول لینک به ارسال
Mobin 1669 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 وقتی برای اولین بار فعال میکنید $instance['cat_id'] مقدار نداره به همین خاطر خطا میده میتونین اون قسمت رو به صورت زیر بنویسین selected(in_array($cat->term_id, (empty($instance['cat_id'])?array():$instance['cat_id']) ) ); 3 نقل قول لینک به ارسال
فرهاد حسن پور 246 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 مشکل شما مربوط به کد زیر هست: <?php selected(in_array($cat->term_id, $instance['cat_id'])); // selected($cat->term_id,$cats_id) ?> ارور نمایش داده به این دلیل هست که میگه باید پارامتر دوم in_array ، آرایه باشه ! 1 نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 5 ساعت قبل، lord_viper گفته است : وقتی برای اولین بار فعال میکنید $instance['cat_id'] مقدار نداره به همین خاطر خطا میده میتونین اون قسمت رو به صورت زیر بنویسین selected(in_array($cat->term_id, (empty($instance['cat_id'])?array():$instance['cat_id']) ) ); بسیار ممنون مشکل حل شد به کمک شما نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .