mehran-b

دو مشکل در طراحی یه افزونه

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

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

سلام بر دوستان و ستون های انجمن

 

در حال طراحی یک پلاگین خبرخوان هوشمند هستم که دو مشکل واقعا نمیدونم از کجاست مطرح میکنم انشاالله حل بشه.

مود اول یه ارورلاگ هست مربوط به یکی از تیبل های پلاگین که همون ارور Error Code: 1062. Duplicate entry '1' for key 'PRIMARY' هست در حالی که من قبلش چک میکنم که وجود نداشته باشه همچین ردیفی در جدول و بعد insert میکنم.

استرکچر تیبل به این شکل هست:

table.jpg.975f607b291b1534c3c02621753b1bda.jpg

خوب همون طور که مشخصه ارور مربوط به ستون hash هست و ستون id یونیک و دو ستون status و time صرفا index هستند و یونیک نیستند.

کدی که باهاش چک میکنم که همچین رکوردی هست و اگر نبود insert میکنم اینه:

foreach($post_link as $link) :
	if($wpdb->get_var($wpdb->prepare("SELECT id FROM $table_name WHERE hash = %s", hash('sha256', $link))) === null)
		$wpdb->insert($table_name, array('hash' => hash('sha256', $link), 'link' => $link, 'status' => 'Q', 'source_name' => $source_name, 'time' => date("Y-m-d H:i:s")), array('%s', '%s', '%s', '%s', '%s'));
endforeach;

خوب میریم سراغ موردی بعدی مورد بعدی هم یه ارورلاگه که مطمئنم مربوط به افزونه ام میشه ولی به یکی از فایل اصلی وردپرس اشاره میکنه ارورلاگ اینه:

Warning: Invalid argument supplied for foreach() in /www/htdocs/XXXXXXX/wordpress/wp-includes/class-wp-list-util.php on line 153

البته به یه موردی اشاره کنم که wp_list_pluck رو مستقیم توی کدهای افزونه استفاده نکردم ولی شاید توابع دیگه وردپرس که استفاده کردم توی پلاگین از این تابع استفاده کنند.

توابعی که از وردپرس استفاده کردم توی پلاگینم اینا هستند:

get_option();
wp_die();
apply_filters();
register_activation_hook();
$wpdb::get_var();
$wpdb::get_charset_collate();
dbDelta();
wp_insert_category();
add_action();
add_menu_page();
get_current_screen();
update_option();
add_option();
wp_remote_get();
wp_remote_retrieve_response_code();
wp_nonce_field();
$wpdb::insert();
wp_insert_post();
wp_set_post_terms();
wp_update_post();
wp_get_post_terms();
$wpdb::get_row();
$wpdb::update();

تشکر از راهنماییتون.

یا حق

ویرایش شده در توسط mehran-b
0

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


لینک به پست

سلام

برای مورد اول، چند سطر از خروجییتون رو باید ببینیم تا بشه بهتر تصمیم گرفت. منظور سطرهایی هست که توی دیتابیستون وارد شده.

برای مورد دوم هم باید بخش به بخش توابع رو از افزونه خارج کنید تا به نقطه اصلی برسید چون شاید براساس یک رابطه باشه و مستقیم از تابع خاضی خطا نگیره.

1

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


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

سلام

برای مورد اول، چند سطر از خروجییتون رو باید ببینیم تا بشه بهتر تصمیم گرفت. منظور سطرهایی هست که توی دیتابیستون وارد شده.

برای مورد دوم هم باید بخش به بخش توابع رو از افزونه خارج کنید تا به نقطه اصلی برسید چون شاید براساس یک رابطه باشه و مستقیم از تابع خاضی خطا نگیره.

اینم یه نما از تیبل.

table.jpg.32a94d1aa18fdd86e799e4061ffbbcb8.jpg

link رو base64_encode اش میکنم میریزم توی دیتابیس و hash هم الگوریتمش SHA-256 هست.

0

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


لینک به پست

خطای اول شما مربوط به فیلد hash نیست ممکنه مربوط به status یا id باشه مقدار فیلد id ور (11)INT قرار بدین ببینین باز هم این خطا میاد؟

خطا در مورد وارد کردن مقدار 1 در یک فیلد که قبلا مقدار 1 درونش وجود داره صحبت میکنه

در مورد خطای دوم باید کد foreach رو قرار بدید چیزهایی که باید در نظر داشته باشید این هست که مقداری که وارد foreach میشه حتما ارایه یا ابجکت باشه و اینکه چک کنین حتما مقدار داشته باشه و نول نباشه

مثلا اگه مقدار شما اسمش values$ باشه حتما قبل حلقه چک کنین خالی نباشه

if(!empty($values)){
    foreach($values as $value){
        //کدهای حلقه
    }
}

 

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط masoudmosleh267
      سلام دوستان عزيز. خواستم بدونم امكانش هست كه بنده يك سايت وردپرسي كه ٢٠ تا افزونه روش نصبه رو تبديل كنم به لاراول و رو اون فريم ورك كار كنم؟
    • توسط miohmah
      سلام
      لطفا صفحه زیر رو نگاه کنید:
      https://academy.anetwork.ir/dictionary/
      میخوام یه همچین صفحه ای داشته باشم که بالای اون امکان جستجویی به کاربر بده که بعد از وارد کردن چند حرف دلخواه، نتایج از بین واژگان موجود نمایش داده بشه.
      درواقع یه همچین جستجوگری برای یک صفحه نیاز دارم (دقیقا کار همین فرم جستجویی که در این سایت هست رو انجام بده)
      صفحه ای که منم میخوام درست کنم، مثل همین بلوک بلوک هست. نتایج رو میخوام به همین شکلی که در این سایت هست نمایش بدم.
      اگر کسی چیزی میدونه لطفا بگه
    • توسط -HADI-
      سلام خدمت دوستان،
      یک سری فیلد رو با افزونه ی Advanced Custom Fields ایجاد کردم، توی یکی از بخش ها که تعداد فیلد های زیاد تری داره وقتی پست رو منتشر میکنم نمایش نمیده بعضی قسمت هارو و هم توی بخش ارسال پست بعد از رفرش شدن صفحه ، خالی میشن بعضی فیلد ها!
      یه تصویر آپلود میکنم لطفا یه بررسی کنید در صورت امکان

       
      این تصویر بعد از انتشار پست و رفرش شدن ضفحه اس
      حتی بعضی مواقع اعداد هم حذف میشن
    • توسط hanrihelen
      سلام دوستای عزیز شرمنده کسی افزونه ای برای ارسال پست ها به صورت اتوماتیک به شبکه های اجتماعی رو داره ؟
      بیزحمت اگه دارید بفرسید واسم بعد اینکه ضرری نداره عزیزان برای سرعت سایت ؟؟؟
       
    • توسط stevej
      با سلام دوستان من یک مشکی با افزونه ag Custom Admin دارم 
      تو تنظیمات افزونه تب login page بخش Change Login header image
      همون تغییر لوگو صفح ورود وردپرس . ادرس عکس رو که میزنم و سیو میکنم ادرس صفحه ورود وردپرس تغییر نمیکنه تازه اینجوری شده یکی دو روزی هست قبلا درست بود