是否自动向WooCommerce产品添加属性?

时间:2015-09-19 作者:meds

我试图让WooCommerce在创建产品时自动为其添加一些属性。

我正试图找到一个合适的钩子,到目前为止,唯一看起来正确的钩子是“woocommerce\\u api\\u create\\u product”,但它不起作用,woocommerce帮助网站实际上转到了一个404未找到该钩子的页面。

我正在尝试执行以下代码:

if ( $new_status == "auto-draft" && isset( $post->post_type ) && $post->post_type == \'product\' ){

    // do stuff here
        $defaults = array ( \'pa_color\' => array (
                                      \'name\' => \'pa_color\',
                                      \'value\' => \'\',
                                      \'position\' => 1,
                                      \'is_visible\' => 1,
                                      \'is_variation\' => 1,
                                      \'is_taxonomy\' => 1,
                                   ),
                            \'pa_capacity\' => array (
                                      \'name\' => \'pa_capacity\',
                                      \'value\' => \'\',
                                      \'position\' => 2,
                                      \'is_visible\' => 1,
                                      \'is_variation\' => 1,
                                      \'is_taxonomy\' => 1,
                                   )
        );

    update_post_meta( $post->ID , \'_product_attributes\', $defaults );

}

1 个回复
SO网友:passatgt
add_action( \'save_post_product\', \'create_product\', 10 );
function create_product( $post_id, $post) {   
    // $post_id and $post are required
    if ( empty( $post_id ) || empty( $post ) ) {
        return;
    }

    // Dont\' save meta boxes for revisions or autosaves
    if ( defined( \'DOING_AUTOSAVE\' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
        return;
    }

    // Check the nonce
    if ( empty( $_POST[\'woocommerce_meta_nonce\'] ) || ! wp_verify_nonce( $_POST[\'woocommerce_meta_nonce\'], \'woocommerce_save_data\' ) ) {
        return;
    }

    // Check the post being saved == the $post_id to prevent triggering this call for other save_post events
    if ( empty( $_POST[\'post_ID\'] ) || $_POST[\'post_ID\'] != $post_id ) {
        return;
    }

    // Check user has permission to edit
    if ( ! current_user_can( \'edit_post\', $post_id ) ) {
        return;
    }

    //Only if this is a new published product
    if ($post->post_date != $post->post_modified) {
        return;
    }

    // do stuff here...
}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请