reza_yki

مشکل در ابزارک اختصاصی

5 پست در این موضوع قرار دارد

سلام من ابزارکی نوشتم که کاربر بتونه به وسیله 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
    }

 

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 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 امتحان کنید، نباید مشکلی باشه

ویرایش شده در توسط nazanin123
0

به اشتراک گذاری این پست


لینک به پست

وقتی برای اولین بار فعال میکنید $instance['cat_id'] مقدار نداره به همین خاطر خطا میده

میتونین اون قسمت رو به صورت زیر بنویسین

 selected(in_array($cat->term_id, (empty($instance['cat_id'])?array():$instance['cat_id']) ) );

 

2

به اشتراک گذاری این پست


لینک به پست

مشکل شما مربوط به کد زیر هست:

<?php  selected(in_array($cat->term_id, $instance['cat_id']));  // selected($cat->term_id,$cats_id)  ?>

ارور نمایش داده به این دلیل هست که میگه باید پارامتر دوم in_array ، آرایه باشه !

 

1

به اشتراک گذاری این پست


لینک به پست
در 5 ساعت قبل، lord_viper گفته است :

وقتی برای اولین بار فعال میکنید $instance['cat_id'] مقدار نداره به همین خاطر خطا میده

میتونین اون قسمت رو به صورت زیر بنویسین


 selected(in_array($cat->term_id, (empty($instance['cat_id'])?array():$instance['cat_id']) ) );

 

بسیار ممنون مشکل حل شد به کمک شما

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط sadra1813
      سلام و خسته نباشید. من برای گالری ام، پیوند پوسته رو انتخاب کردم. ولی روی بعضی از عکسا که میزنم، ارور زیر رو می ده:
      Catchable fatal error: Object of class WP_Error could not be converted to string in C:\xampp\htdocs\wp-content\themes\tech-literacy\includes\template-tags.php on line 287
      چیکار کنم تا همه عکسام درست برن تو صفحه خودشون؟
       
    • توسط pouyamahmoudi
      با عرض سلام ، وقت بخیر و خسته نباشید
      قالب وردپرس من با وجود واکنش گرا بودن در نسخه موبایل یک مشکل داره 
      مشکل اینه که به صورت یه صفحه خالی با رنگ پس زمینه سایت میاد و باید صفحه رو بکشم به سمت راست تا محتویات نمایش داده بشه 
      لطفا جهت حل این مشکل راهنمایی کنید
      با سپاس

    • توسط arianemun
      سلام عرض ادب به کاربران وردپرس پارسی ، من یک مشکلی دارم در افزونه ای ، افزونه woocomerce product finder یک افزونه ای است طبق تنظیمات و چیز هایی که برای محصول ووکامرسی تعریف میکنیم با انتخواب گزینه ها توسط کاربر محصول مورد نظر خودش رو پیدا میکنه، تنها مشکلی که این افزونه یا میشه گفت ضعفی که داره تفاوت محصول برجسته رو با محصول ساده متوجه نمیشه یعنی اگر تو اون دسته یک محصول برجسته باشه و یک محصول ساده اون ها رو از هم تفکیک نمیکنه من میخواستم این قابلیت رو به این افزونه اضافه کنم که کاربر وقتی محصولش رو پیدا کرد هم محصول ساده ها رو ببینه و محصول برجسته شده ! ممنون میشم کمک کنید .
       
      لینک افزونه استفاده شده
    • توسط سعید فرزادی پور
      با عرض سلام
      من به مشکلی خوردم که راه حل اون رو نمیدونم
      در هدر سایت یک نویگیشن بار دارم که منوی اصلی سایتم به صورت دراپ داون در این نویگیشن بار وجود داره ، قال سایت من shaply هستش و استفاده از ویجت ها در body بازه ، من با استفاده از یک ویجت اسلایدر در بالاترین قسمت و زیر هدر سایت که ارتفاع اونم 55 پیکسل هستش اسلایدر بزرگ ایجاد کردم ، و حالا زمانی که میرم روی دراپ داون ها متاسفانه تا قبل از اسکرول کردن به پایین ، زیر منو ها به زیر اسلایدر میرن ، اما بعد از اسکرول کردن به پایین این مشکل حل شده و منو ها و زیر منو ها نمایش داده میشن ، هرچه z-index رو افزایش دادم نتیجه ای نداشت ، چطور میتونم این مشکل رو حل کنم ؟
      و سوال دوم این که در این تم منو ها اول به پایین و بعد به راست باز میشن و من میخوایم سایت رو به صورت فارسی داشته باشم و میخوام اول به پایین و بعد به چپ باز بشن منو ها , چه تغییری میتونم در css ایجاد کنم ؟
    • توسط hamid_diablo
      سلام دوستان
      من وردپرس رو روی لوکال هاست نصب کرده بودم
       
      تا چند روز پیش مشکلی نداشتم تا اینکه یه پوسته جدید نصب کردم و بعد از اون متاسفانه وردپرس بالا نیامد (صفحه سفید ظاهر شد )
       
      فقط قالب صحیفه رو نمایش میده بدون پیشخوان!!!
       
      وردپرس و پاک کردم و دوباره روی لوکال هسات نصب کردم اما مشکل برطرف نشد !
      ممنون میشم راهنماییم کنید