WooCommerce: একটি পণ্য একটি "লেখক" বরাদ্দ


11

আমি ওয়ার্ক কমার্সের জন্য আমার প্রথম থিমটি বিকাশ করছি।

আমার ওয়ার্ককমার্স পণ্যগুলিতে "লেখক" (সত্যই "ডিজাইনার") অর্পণ করতে সক্ষম হতে হবে। এটা কি সম্ভব? আমি অন্তর্নির্মিত "লেখক" ব্যবহারকারীর ওয়ার্ডপ্রেসটি ব্যবহার করার কথা ভাবছিলাম, তবে কোনও পণ্য সম্পাদনার ইন্টারফেসটি "পোস্ট" সম্পাদনা ইন্টারফেসের বিপরীতে "লেখক" বক্স সরবরাহ করে না।

উত্তর:


15

সহজভাবে ব্যবহার করুন 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* এবং রেজিস্টার করো পোস্টের প্রকারের প্রথম। এটি যুক্তির সাথে authorযুক্ত হয়ে মূল ফাংশন প্লাসের প্রয়োজনীয় ভার্সের একটি অনুলিপি supports

* / ডাব্লুপি- কনটেন্ট / প্লাগইনস / ওওকমার্স / উইওকমার্স.পিপি, লাইন 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
        )
    );
}

WooCommerce এর সর্বশেষ কোডটিতে প্রতিটি কাস্টম পোস্ট টাইপের ফিল্টার অন্তর্ভুক্ত রয়েছে apply_filters( 'woocommerce_register_post_type_product',যাতে ফিল্টারিং একটি ঠিক সমাধান solution
আনাজিও

999 অ্যাডঅ্যাকশন () পদ্ধতিতে কী বোঝায়?
অতুল চাওয়ান

@ আতুল, এই পদক্ষেপটি চালানোর জন্য অগ্রাধিকার
ব্রাসোফিলো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.