• اطلاعیه ها

    • Saeed Fard

      پوشش زنده وردکمپ ۲۰۱۸ اروپا توسط وردپرس پارسی   23/03/97

      اگر کاربر وردپرس هستید حتما تا به حال اسم وردکمپ رو شنیدید، کمپ و دورهمی بزرگ توسعه‌دهنده‌ها و کاربران وردپرس که سالانه در کشورهای مختلف برگزار میشه تحت عنوان وردکمپ هستش که از سمت مراجع اصلی وردپرس حمایت و برگزار می‌شه.   این‌ بار در سال 2018 وردکمپ اروپا در شهر بلگراد کشور صربستان در حال برگزاری هستش، این رویداد طی سه روز 24 تا 26 تیر ماه (June 14-16) برگزار میشه، در این رویداد مصطفی صوفی از وردپرس پارسی و به نمایندگی تمامی کاربران وردپرس فارسی حضور داره. وردپرس پارسی رویداد وردکمپ 2018 اروپا رو به صورت زنده توسط مصطفی پوشش می‌ده و در صورت علاقه‌مندی به این مراسم می‌تونید از طریق وردپرس پارسی دنبالش کنید.در حال حاضر یک روز از این مراسم گذشته که گزارش اون در قسمت پوشش زنده قرار گرفته. برای دنبال کردن مراسم وردکمپ اروپا به صورت لحظه‌ای به صفحه پوشش زنده در قسمت زیر مراجعه کنید. همینطور در آینده منتظر خبر برگزاری اولین وردکمپ در ایران توسط وردپرس‌پارسی باشید. https://wp-parsi.com/wceu-2018

      لینک خبر در وردپرس پارسی : https://wp-parsi.com/wceu-2018-live  
Ali#

برنامه نویسی
استفاده از bulk actions در افزونه

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

سلام.

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

من این کد را نوشتم ولی مشکلی که دارد این است که فقط به یک پست، برچسب را اضافه می کند در حالی که من می خواهم به همه نوشته هایی که انتخاب شده بودند اضافه کند.

این هم کد:

add_action('bulk_edit_custom_box', 'bulk_test');
function bulk_test() {
$post_ID = get_the_ID();
wp_set_post_tags($post_ID,'test',true );
}

دوستان می دانم مشکل از $post_ID است که فقط یک آی دی را وارد می کند. ولی راه حل را پیدا نمی کنم.

کسی می تواند راهنمایی کند؟

0

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


لینک به پست

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

منظورتون اینه که یه بولک اکشن جدید می خواید اضاف کنید ؟

0

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


لینک به پست

نه. بولک اکشن جدید منظورم نیست.

ببینید منظورم از ویرایش، بعنوان مثال تغییر دسته جمعی مطالب از draft به public هست.میخوام وقتی تیک کنار مطالب خورد و از قسمت بولک اکشن این تغییری که گفتم داده شد،  به همه مطالبی که در مرحله قبل انتخاب کرده بودیم، یک برچسب اضافه شود.

 

 

 

 

 

 

 

 

 

 

0

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


لینک به پست
در 2 ساعت قبل، Ali# گفته است :

نه. بولک اکشن جدید منظورم نیست.

ببینید منظورم از ویرایش، بعنوان مثال تغییر دسته جمعی مطالب از draft به public هست.میخوام وقتی تیک کنار مطالب خورد و از قسمت بولک اکشن این تغییری که گفتم داده شد،  به همه مطالبی که در مرحله قبل انتخاب کرده بودیم، یک برچسب اضافه شود.

 

 

 

 

 

 

 

 

 

 

دوست عزیز لطف کن قوانین انجمن رو هم بخون و اسپم نفرست و پیام خصوصی هم نده ;کلا از ارسال اول تایپیک یک روز گذشته سئوالتون هم سئوال معمولی نیست 

add_action('bulk_edit_custom_box', 'bulk_test');
function bulk_test() {
$post_ids = ( ! empty( $_POST[ 'post_ids' ] ) ) ? $_POST[ 'post_ids' ] : array();
	if ( ! empty( $post_ids ) && is_array( $post_ids ) ) {
		foreach( $post_ids as $post_id ) {
wp_set_post_tags($post_id,'test',true );
}
}
}

 

 

1

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


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

دوست عزیز لطف کن قوانین انجمن رو هم بخون و اسپم نفرست و پیام خصوصی هم نده ;کلا از ارسال اول تایپیک یک روز گذشته سئوالتون هم سئوال معمولی نیست 


add_action('bulk_edit_custom_box', 'bulk_test');
function bulk_test() {
$post_ids = ( ! empty( $_POST[ 'post_ids' ] ) ) ? $_POST[ 'post_ids' ] : array();
	if ( ! empty( $post_ids ) && is_array( $post_ids ) ) {
		foreach( $post_ids as $post_id ) {
wp_set_post_tags($post_id,'test',true );
}
}
}


 

شرمنده جناب imanfakhar

عجله داشتم.

از وقتی که گذاشتید هم ممنون.

این کد شما رو هم امتحان کردم متاسفانه باز هم کار نکرد. کمی تغییر هم دادم نتیجه نداد!

0

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


لینک به پست

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


لینک به پست
در 3 دقیقه قبل، imanfakhar گفته است :

کار با آژاکس رو متوجه نشدم.

بعد اینجا اکشن wp_ajax_save_bulk_edit_book رو فراخوانی کرده در حالی که من bulk_edit_custom_box رو فراخوانی کردم.

فکر کنم بهمین مربوط بشه!

 

0

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


لینک به پست

شما باید یک مقداری رو خودتون ارسال کنید تا تابعتون بتونه بخونتش و مقدار آی دی ها را بفهمه ؟

در 11 دقیقه قبل، Ali# گفته است :

عد اینجا اکشن wp_ajax_save_bulk_edit_book رو فراخوانی کرده در حالی که من bulk_edit_custom_box رو فراخوانی کردم.

فکر کنم بهمین مربوط بشه!

شما مگه نمی خواهید همزمان با تغییر وضعیت تگهاتون رو هم بچسبونید ؟ 

اکشن درسته 

از کدکس وردپرس مرجع معتبر تری که نداریم شما باید آژاکس رو هم صدا بزنید تا آی دی های مطالب رو با متد post  براتون ارسال کنه تابعتون ورودی داشته باشه

حالا چرا می خواین کار به این عجیبی و نا معمولی رو انجام بدید اگه قراره یک تگ براشون مشترک کنید که همون موقع ویرایش تگ رو هم اضافه کنید و خودتون اذیت نکنید اگر هدفتون کار دیگه ایه بفرمایید دقیقا چه کاری هدفتون شاید راه درستش کار دیگه ای باشه

1

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


لینک به پست
در 3 دقیقه قبل، imanfakhar گفته است :

شما باید یک مقداری رو خودتون ارسال کنید تا تابعتون بتونه بخونتش و مقدار آی دی ها را بفهمه ؟

شما مگه نمی خواهید همزمان با تغییر وضعیت تگهاتون رو هم بچسبونید ؟ 

اکشن درسته 

از کدکس وردپرس مرجع معتبر تری که نداریم شما باید آژاکس رو هم صدا بزنید تا آی دی های مطالب رو با متد post  براتون ارسال کنه تابعتون ورودی داشته باشه

حالا چرا می خواین کار به این عجیبی و نا معمولی رو انجام بدید اگه قراره یک تگ براشون مشترک کنید که همون موقع ویرایش تگ رو هم اضافه کنید و خودتون اذیت نکنید اگر هدفتون کار دیگه ایه بفرمایید دقیقا چه کاری هدفتون شاید راه درستش کار دیگه ای باشه

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

در اصل کار با آژاکس رو متوجه نشدم. اون کد ها رو متوجه نشدم کجا باید فراخوانی بشه که این هوک اجرا بشه.

این که من میگم تگ اضافه بشه صرفاً یک مثال بود. در اصل میخوام با تغییر وضعیت، به هرکدام یک post_meta اضافه کنم.

در اصل:

add_action('bulk_edit_custom_box', 'bulk_test');
function bulk_test() {
$post_ids = ( ! empty( $_POST[ 'post_ids' ] ) ) ? $_POST[ 'post_ids' ] : array();
	if ( ! empty( $post_ids ) && is_array( $post_ids ) ) {
		foreach( $post_ids as $post_id ) {
		add_post_meta($post_id,$my_post_meta,$my_post_meta_content);
}
}
}

که شما تا حد زیادی مشکل رو حل کردید ($post_ids).

فقط ظاهراً همین مشکل کار با آژاکس است که این کد کار نمی کند!

0

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


لینک به پست

برای کار با آژاکس که خودش یک مثال کامل زده (کدهای مربوط به آژاکسش جی کوئریند نه PHP ) ولی شما نیازی بهش نداری

به اکشن save_post هوک بزن و تابعت رو اجرا کنه که یکی یکی هر مطلبی منتشر شد آی دیش رو بگیره و تابع رو براش اجرا کنه 

http://wordpress.stackexchange.com/questions/10853/how-to-get-and-edit-custom-fields-if-in-quick-edit

https://wp-types.com/forums/topic/update-a-custom-field-in-quick-edit/

http://wpdreamer.com/2012/03/manage-wordpress-posts-using-bulk-edit-and-quick-edit/

  و این ویدئو رو هم ببینید 

 

1

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


لینک به پست
نقل قول

منتها من مبتدی ام تو پروفایل هم وارد کردم.

مبتدی که نیستید ولی رفتید سراغ یکی از بد اداترین و کم مصرفترین اکشنهای وردپرس

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط Andy Murray
      با سلام ، وقت دوستان وردپرسی بخیر ! 
      دوستانی که به دنبال نمایش ستاره دار مطالب در گوگل هستین، حتما میدونید که افزونه های زیادی در این رابطه هست . من از kk Star Ratings استفاده کردم اما برای بعضی سایت ها جواب میده و برای بعضی ها هم جواب نمیده ، کسی اطلاعات دقیق تری داره که دلیلش چی هست ؟ و مشکل کار کجاست ؟ 
      به عنوان مثال برای سایت دی کیو شاپ کار نمیکنه ولی برای سئو سایت ستاره دار نمایش داده میشه . 
    • توسط masoudmosleh267
      سلام دوستان. من میخوام تو قسمت فرم ثبت نام سایتم، زمانی که کاربر یوزرنیم تکراری زد ارور بده. الان زمانی که یوزر تکراری وارد شه، فیلد ایمیل زرد میشه و صفحه همونطوری میمونه و اتفاقی رخ نمیده و کاربر نمیفهمه چی شده.
      بعد میخوام قسمت ورودی رمز عبور کاربر محدودیت حداقل 6 کاراکتر ایجاد شه که در غیر این صورت ارور بده.
      فیلد ایمیل هم اخطار بده که این ایمیل قبلا ثبت نام شده. در واقع هیج اروری نمیده. و بگه که آدرس ایمیل باید معتبر باشد و در غیر این صورت ارور بده. الان هرچی بزنم ثبت نام میشه فقط نباید تکراری باشه.
      الان یه سری ارور زیر فیلد ها تعریف کردم ولی همیشه این ارور ها هست و زمانه که فیلدی اشتباه باشه بجای اینکه ارور ظاهر شه، میره.
       
      این یه سری از کدای فایل هست:
      <form method="post" id="userRegistration">
                                          <div class="form-group">
                                              <input type="hidden"  class="referer" value="<?php echo wp_get_referer() ?: get_home_url()  ?> ">
                                          </div>
                                          <?php
                                          if(function_exists('wp_nonce_field')){
                                              echo '<div class="form-group">';
                                              wp_nonce_field('user_registration_action', 'user_registration_nonce');
                                              echo '</div>';
                                          }
                                          ?>
                                          
                                          <div class="form-group">
                                              <label for="register_username" class="control-label"><?php esc_html_e('Username', Khadamaator::NAME); ?></label>
                                              <input type="text" name="register_username" id="register_username" class="form-control username" aria-describedby="register_username_help_block">
                                              <span id="username_help_block" class="help-block">نام کاربری باید لاتین باشد.</span>
                                          </div>
                                          <div class="form-group">
                                              <label for="register_password" class="control-label"><?php esc_html_e('Password', Khadamaator::NAME); ?></label>
                                              <input type="password" name="register_password" id="register_password" class="form-control password" aria-describedby="register_password_help_block">
                                              <span id="password_help_block" class="help-block">رمز عبور باید حداقل 6 کاراکتر باشد.</span>
                                          </div>
                                          <div class="form-group">
                                              <label for="register_email" class="control-label"><?php esc_html_e('Email', Khadamaator::NAME); ?></label>
                                              <input type="text" name="register_email" id="register_email" class="form-control email" aria-describedby="register_email_help_block">
                                              <span id="email_help_block" class="help-block">هر ایمیل تنها یکبار میتواند ثبت شود.</span>
                                          </div>
                                          <button type="submit" class="btn btn-sm btn-primary" data-loading-text="<i class='fa fa-spinner fa-spin '></i> در حال ارتباط" ><?php esc_html_e('Signup', Khadamaator::NAME); ?></button>
                                      </form>
    • توسط فرهاد حسن پور
      با سلام
       
      دوستان با استفاده از کلاس wp_list_table وردپرس یک کلاس ساختم و از اون اکستندش کردم. طبق داکیومنت وردپرس جلو رفتم و متدهایی که لازم بود رو اورراید کردم و... .
      الان مشکلم در نمایش سطرهای جدول هست، دقیق تر بخوام بگم متد display کلاس wp_list_table ...
      بخش صفحه بندی رو درست نمایش میده ولی سطرها رو نه ... به تصویر زیر توجه کنید.

      مشکل از چی میتونه باشه ؟!
    • توسط -HADI-
      سلام خدمت دوستان،
      یک سری فیلد رو با افزونه ی Advanced Custom Fields ایجاد کردم، توی یکی از بخش ها که تعداد فیلد های زیاد تری داره وقتی پست رو منتشر میکنم نمایش نمیده بعضی قسمت هارو و هم توی بخش ارسال پست بعد از رفرش شدن صفحه ، خالی میشن بعضی فیلد ها!
      یه تصویر آپلود میکنم لطفا یه بررسی کنید در صورت امکان

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

      خوب همون طور که مشخصه ارور مربوط به ستون 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(); تشکر از راهنماییتون.
      یا حق