mahdikabook

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

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

من اینجا دارم میگم وقتی یه محصول ساخته شد بیا یه attributes اضافه کن ... الان هر کاری میکنم نمیشه ، نشه هم اضافه کرد میخوام حداقل یه آپدیت بکنه مثلا  "purchase_note" مقدارشو با 'mahdi' پر کنه اصلا کلا هیچی آرایه هم نگیره بیاد attribute purchase_note رو مقدارشو با mahdi پر کنه! 

function add_this_to_new_products( $new_status, $old_status, $post ) {
        $defaults = array ( 'shopid' => array (
                                      'name' => 'shopid',
                                      'value' => 'mahdi',
                                      'position' => 1,
                                      'is_visible' => 1,
                                      'is_variation' => 1,
                                      'is_taxonomy' => 1,
                                   ),

        );

    update_post_meta( $post->ID , '_product_attributes', $defaults );
 
}
 
add_action( 'transition_post_status', 'add_this_to_new_products', 10, 3 );

یا 

function add_this_to_new_products( $new_status, $old_status, $post ) {
    $defaults = get_bloginfo();
update_post_meta( $post->ID , '_product_attributes', $defaults );


}

add_action( 'transition_post_status', 'add_this_to_new_products', 10, 3 );

ممنون میشم کمک کنید

0

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


لینک به پست

اگر نوع نوشته/محصولتون پست هست:


 

add_action('publish_post', 'add_custom_field');
function add_custom_field($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'your-field-name', 'My value', true);
    }
}

 

2

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


لینک به پست

همونطوری که توی کدهای مرتضی عزیز مشخصه به publish_post  یا save_post  هوک بزنید هوک transition_post_status برای ترجمه وضعیت نوشته است و ربطی به کار شما نداره 

https://developer.wordpress.org/reference/hooks/transition_post_status/

 

2

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


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

اگر نوع نوشته/محصولتون پست هست:


 


add_action('publish_post', 'add_custom_field');
function add_custom_field($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'your-field-name', 'My value', true);
    }
}

 

سلام ممنونم که جواب دادین بنده میخواهم یه هوک بزنم که وقتی فروشنده یک محصول گذاشت یک attribute  پر بشه مثلا مقدار purchase_note برابر با get_bloginfo() بشه همین. 

همین اتفاق برای سفارش جدید هم بشه ... 

0

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


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

همونطوری که توی کدهای مرتضی عزیز مشخصه به publish_post  یا save_post  هوک بزنید هوک transition_post_status برای ترجمه وضعیت نوشته است و ربطی به کار شما نداره 

https://developer.wordpress.org/reference/hooks/transition_post_status/

 

از شمام واقعا ممنونم ...

0

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


لینک به پست

خب همون کد بالا که براتون گذاشتم دقیق چیزی هست که نیاز داریدن

بجای your-field-name یک اسم برای زمینه  بزارید و بجای My valueهم مقدارش.

مثلا اون خط اینجوری میشه:
 

add_post_meta($post_ID, 'purchase_note', get_bloginfo() , true);

 

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط masoudch
      سلام دوستان
      کسی میتونه hook در وردپرس رو به زبان ساده توضیح بده خیلی گشتم تو اینترنت ولی خوب متوجه نشدم بدتر گیج شدم. لطفا راهنمایی مفصل و مفیدی بفرمایید.
      ممنون
       
       
    • توسط Ali#
      سلام.
      می خواهم هنگامی که مطالب از قسمت 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 است که فقط یک آی دی را وارد می کند. ولی راه حل را پیدا نمی کنم.
      کسی می تواند راهنمایی کند؟