Woocommerce: назначить «автора» для продукта

Я разрабатываю свою первую тему для woocommerce.

Мне нужно иметь «авторов» (действительно «дизайнеров»), назначенных для продуктов woocommerce. Это возможно? Я думал об использовании встроенного «авторского» словаря wordpress, но интерфейс редактирования продукта не предоставляет поля «автор», в отличие от интерфейса редактирования «пост».

Solutions Collecting From Web of "Woocommerce: назначить «автора» для продукта"

Просто используйте add_post_type_support :

 add_action('init', 'wpse_74054_add_author_woocommerce', 999 ); function wpse_74054_add_author_woocommerce() { add_post_type_support( 'product', 'author' ); } 

Пользователь, назначенный пользовательской ролью

роль пользователя


Авторы включены в тип публикации «Товары»

woo с поддержкой автора


Другой вариант, который я не уверен в его правильности , он подключается к woocommerce_register_post_type * и сначала регистрирует тип сообщения. Это копия исходной функции плюс необходимые вам вары, приложенные author к аргументу supports .

* /wp-content/plugins/woocommerce/woocommerce.php, строка 885

 add_action( 'woocommerce_register_post_type', 'wpse_74054_override_register_product_type' ); function wpse_74054_override_register_product_type() { $shop_page_id = woocommerce_get_page_id('shop'); $base_slug = ( $shop_page_id > 0 && get_page( $shop_page_id ) ) ? get_page_uri( $shop_page_id ) : 'shop'; $product_base = ( get_option('woocommerce_prepend_shop_page_to_products') == 'yes' ) ? trailingslashit($base_slug) : trailingslashit(_x('product', 'slug', 'woocommerce')); register_post_type( "product", array( 'labels' => array( 'name' => __( 'Products', 'woocommerce' ), 'singular_name' => __( 'Product', 'woocommerce' ), 'menu_name' => _x( 'Products', 'Admin menu name', 'woocommerce' ), 'add_new' => __( 'Add Product', 'woocommerce' ), 'add_new_item' => __( 'Add New Product', 'woocommerce' ), 'edit' => __( 'Edit', 'woocommerce' ), 'edit_item' => __( 'Edit Product', 'woocommerce' ), 'new_item' => __( 'New Product', 'woocommerce' ), 'view' => __( 'View Product', 'woocommerce' ), 'view_item' => __( 'View Product', 'woocommerce' ), 'search_items' => __( 'Search Products', 'woocommerce' ), 'not_found' => __( 'No Products found', 'woocommerce' ), 'not_found_in_trash' => __( 'No Products found in trash', 'woocommerce' ), 'parent' => __( 'Parent Product', 'woocommerce' ) ), 'description' => __( 'This is where you can add new products to your store.', 'woocommerce' ), 'public' => true, 'show_ui' => true, 'capability_type' => 'post', 'capabilities' => array( 'publish_posts' => 'manage_woocommerce_products', 'edit_posts' => 'manage_woocommerce_products', 'edit_others_posts' => 'manage_woocommerce_products', 'delete_posts' => 'manage_woocommerce_products', 'delete_others_posts' => 'manage_woocommerce_products', 'read_private_posts' => 'manage_woocommerce_products', 'edit_post' => 'manage_woocommerce_products', 'delete_post' => 'manage_woocommerce_products', 'read_post' => 'manage_woocommerce_products' ), 'publicly_queryable' => true, 'exclude_from_search' => false, 'hierarchical' => false, // Hierarcal causes memory issues - WP loads all records! 'rewrite' => array( 'slug' => $product_base, 'with_front' => false, 'feeds' => $base_slug ), 'query_var' => true, 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'comments', 'custom-fields', 'page-attributes', 'author' ), 'has_archive' => $base_slug, 'show_in_nav_menus' => true ) ); }