私はウーコマースのための私の最初のテーマを開発しています。
私はウーコマース商品に「作者」(本当に「デザイナー」)を割り当てることができる必要があります。それは可能ですか? WordPressに組み込まれている "著者"ユーザーを使用することを考えていましたが、 "編集後"の編集インターフェイスとは異なり、製品編集のインターフェイスには "著者"ボックスはありません。
単に 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' );
}
カスタムロールで割り当てられたユーザー
商品投稿タイプで著者が有効になっています
私は その正当性がよくわからない 、woocommerce_register_post_type
にフックするためのもう1つのオプション* 最初に投稿タイプを register します。これは元の関数と必要な変数をコピーしたもので、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
)
);
}