खोज…


वाक्य - विन्यास

  • register_post_type ($ post_type, $ args);

पैरामीटर

पैरामीटर विवरण
$ post_type (स्ट्रिंग) (आवश्यक)
$ args (सरणी / स्ट्रिंग) (वैकल्पिक)

एक कस्टम पोस्ट प्रकार दर्ज करना

मान लें कि आपके पास एक लाइब्रेरी वेबसाइट है, और आप एक कस्टम पोस्ट टाइप करना चाहते हैं, जिसका नाम Books है । इसे पंजीकृत किया जा सकता है

function create_bookposttype() {
    $args = array(
        'public' => true,
        'labels' => array(
            'name' => __( 'Books' ),
            'singular_name' => __( 'Book' )
        ),
    );
    register_post_type( 'custompost_books', $args );
}

add_action( 'init', 'create_bookposttype' );

और, जैसा कि सरल है, अब आपके पास एक कस्टम पोस्ट प्रकार पंजीकृत है।

कस्टम पोस्ट 'बुक' स्क्रीनशॉट

इस स्निपेट को आपकी थीम functions.php फाइल में या प्लगइन स्ट्रक्चर में रखा जा सकता है।

मुख्य क्वेरी में कस्टम पोस्ट प्रकार जोड़ें

कस्टम पोस्ट प्रकार दर्ज करने का मतलब यह नहीं है कि यह स्वचालित रूप से मुख्य क्वेरी में जुड़ जाता है। आपको मुख्य पोस्ट में कस्टम पोस्ट प्रकार जोड़ने के लिए pre_get_posts फ़िल्टर का उपयोग करने की आवश्यकता है।

// Show posts of 'post' and 'book' custom post types on home page
add_action( 'pre_get_posts', 'add_my_post_types_to_query' );

function add_my_post_types_to_query( $query ) {
  if ( is_home() && $query->is_main_query() )
    $query->set( 'post_type', array( 'post', 'book' ) );
  return $query;
}

मुख्य आरएसएस फ़ीड में कस्टम पोस्ट प्रकार जोड़ना

कस्टम पोस्ट प्रकार दर्ज करने का मतलब यह नहीं है कि यह मुख्य आरएसएस फ़ीड में स्वचालित रूप से जुड़ जाता है। आपको कस्टम पोस्ट प्रकारों को मुख्य आरएसएस फ़ीड में जोड़ने के लिए request फ़िल्टर का उपयोग करने की आवश्यकता है।

// Add 'books' custom post types on main RSS feed
function add_book_post_types_to_rss($qv) {
    if (isset($qv['feed']) && !isset($qv['post_type']))
        $qv['post_type'] = array('post', 'books', );
    return $qv;
}
add_filter('request', 'add_book_post_types_to_rss');

कस्टम पोस्ट प्रकार दर्ज करें

if ( ! function_exists('products_post_type') ) {

function products_post_type() {

    $labels = array(
        'name'                  => _x( 'Products', 'Post Type General Name', 'text_domain' ),
        'singular_name'         => _x( 'Product', 'Post Type Singular Name', 'text_domain' ),
        'menu_name'             => __( 'Products', 'text_domain' ),
        'name_admin_bar'        => __( 'Product', 'text_domain' ),
        'archives'              => __( 'Item Archives', 'text_domain' ),
        'attributes'            => __( 'Item Attributes', 'text_domain' ),
        'parent_item_colon'     => __( 'Parent Product:', 'text_domain' ),
        'all_items'             => __( 'All Products', 'text_domain' ),
        'add_new_item'          => __( 'Add New Product', 'text_domain' ),
        'add_new'               => __( 'New Product', 'text_domain' ),
        'new_item'              => __( 'New Item', 'text_domain' ),
        'edit_item'             => __( 'Edit Product', 'text_domain' ),
        'update_item'           => __( 'Update Product', 'text_domain' ),
        'view_item'             => __( 'View Product', 'text_domain' ),
        'view_items'            => __( 'View Items', 'text_domain' ),
        'search_items'          => __( 'Search products', 'text_domain' ),
        'not_found'             => __( 'No products found', 'text_domain' ),
        'not_found_in_trash'    => __( 'No products found in Trash', 'text_domain' ),
        'featured_image'        => __( 'Featured Image', 'text_domain' ),
        'set_featured_image'    => __( 'Set featured image', 'text_domain' ),
        'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
        'use_featured_image'    => __( 'Use as featured image', 'text_domain' ),
        'insert_into_item'      => __( 'Insert into item', 'text_domain' ),
        'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
        'items_list'            => __( 'Items list', 'text_domain' ),
        'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
        'filter_items_list'     => __( 'Filter items list', 'text_domain' ),
    );
    $args = array(
        'label'                 => __( 'Product', 'text_domain' ),
        'description'           => __( 'Product information pages.', 'text_domain' ),
        'labels'                => $labels,
        'supports'              => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'custom-fields', ),
        'taxonomies'            => array( 'category', 'post_tag' ),
        'hierarchical'          => false,
        'public'                => true,
        'show_ui'               => true,
        'show_in_menu'          => true,
        'menu_position'         => 5,
        'menu_icon'             => 'dashicons-products',
        'show_in_admin_bar'     => true,
        'show_in_nav_menus'     => true,
        'can_export'            => true,
        'has_archive'           => true,        
        'exclude_from_search'   => false,
        'publicly_queryable'    => true,
        'capability_type'       => 'page',
        'show_in_rest'          => true,
    );
    register_post_type( 'product', $args );

}
add_action( 'init', 'products_post_type', 0 );

}

कस्टम पोस्ट प्रकार ट्वेंटी पंद्रह वर्डप्रेस थीम का उपयोग कर

आप फ़ंक्शन के लिए किसी भी नाम का उपयोग कर सकते हैं।

function custom_postype(){
    register_post_type('cus_post',array(

        'labels'=>array(
            'name'=>'khaiyam'// Use any name you want to show in menu for your users
            ),
        'public'=>true,// **Must required 
        'supports'=>array('title','editor','thumbnail')// Features you want to provide on your posts
        )); 
}
add_action('after_setup_theme','custom_postytpe'); 

या

add_action('init','custom_postytpe');

आप अपने इच्छित किसी भी हुक का उपयोग कर सकते हैं लेकिन निश्चित रूप से उनके अलग-अलग अर्थ और उपयोग हैं।

सरल-कस्टम पोस्ट प्रकार

डिफ़ॉल्ट खोज में कस्टम पोस्ट प्रकार

आप डिफ़ॉल्ट वर्डप्रेस खोज पर कस्टम पोस्ट टाइप पोस्ट जोड़ सकते हैं, थीम फ़ंक्शन में नीचे कोड जोड़ें। एफपी

function my_search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', array( 'news','post','article' ) );
    }
  }
}
add_action('pre_get_posts','my_search_filter');


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow