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


27

मैंने ऐसा पहले भी किया है, लेकिन मैं हुक का नाम भूल गया हूं, और इसे कहीं भी नहीं पा सकता ...

मैं जो करने की कोशिश कर रहा हूं वह व्यवस्थापक में एक कस्टम पोस्ट प्रकार की लिस्टिंग में कुछ कस्टम कॉलम जोड़ रहा है।

उदाहरण के लिए, व्यवस्थापक में, लेखों पर क्लिक करें , मैं वहां कस्टम कॉलम जोड़ना चाहता हूं।


मैंने एक ही सवाल पूछा (और जवाब दिया) (कैसे उन्हें क्रमबद्ध बनाने के लिए सहित): wordpress.stackexchange.com/questions/253680/…
beta

जवाबों:


57

कस्टम कॉलम बनाने के लिए हुक और कस्टम पोस्ट प्रकार के लिए उनके संबंधित डेटा क्रमशः manage_{$post_type}_posts_columnsऔर कस्टम पोस्ट प्रकार का नाम manage_{$post_type}_posts_custom_columnकहां {$post_type}है।

प्रलेखन से यह उदाहरण लेखक कॉलम को हटाता है और एक वर्गीकरण और मेटा डेटा कॉलम जोड़ता है:

// Add the custom columns to the book post type:
add_filter( 'manage_book_posts_columns', 'set_custom_edit_book_columns' );
function set_custom_edit_book_columns($columns) {
    unset( $columns['author'] );
    $columns['book_author'] = __( 'Author', 'your_text_domain' );
    $columns['publisher'] = __( 'Publisher', 'your_text_domain' );

    return $columns;
}

// Add the data to the custom columns for the book post type:
add_action( 'manage_book_posts_custom_column' , 'custom_book_column', 10, 2 );
function custom_book_column( $column, $post_id ) {
    switch ( $column ) {

        case 'book_author' :
            $terms = get_the_term_list( $post_id , 'book_author' , '' , ',' , '' );
            if ( is_string( $terms ) )
                echo $terms;
            else
                _e( 'Unable to get author(s)', 'your_text_domain' );
            break;

        case 'publisher' :
            echo get_post_meta( $post_id , 'publisher' , true ); 
            break;

    }
}

1
इस हुक के लिए धन्यवाद !!! ये जबरदस्त है!! Stackoverflow पर कोई स्पष्ट दस्तावेज नहीं है !!! : डी चीयर्स मेट
रोड्रिगो ज़ुलुगा

क्या कॉलम संख्या निर्धारित करने का कोई विकल्प नहीं है? पसंद है column_index[2]। क्योंकि कॉलम के अंत में custom_column दिखाई देता है।
दिलीप गुप्ता

@DilipGupta $ कॉलम एक सरणी है, इसे वापस करने से पहले आप इसे पुनः व्यवस्थित कर सकते हैं
fogx

0

मुझे यकीन नहीं है कि यह डिफ़ॉल्ट मेटा डेटा है जिसे आप कॉलम के रूप में दिखाना चाहते हैं, लेकिन आप इस मुफ्त प्लगइन का उपयोग करने पर विचार कर सकते हैं जो आपको कस्टम फ़ील्ड प्रदर्शित करने के लिए कॉलम जोड़ने की अनुमति देता है। https://wordpress.org/plugins/codepress-admin-columns/

प्रो संस्करण आपको उन कॉलम में फ़िल्टरिंग, सॉर्टिंग और इनलाइन एडिट करने की भी अनुमति देता है।


प्रयोग नहीं करें! आपकी साइट को तोड़ देगा: PHP घातक त्रुटि: पहले redeclare AC () (पहले से घोषित [redacted] \\ wp-content \\ theme \ [redacted] \\ functions.php: 628) को [rededed] \\ wp-content में नहीं ला सकता \\ प्लगइन्स \\ कोडप्रेस-व्यवस्थापक-कॉलम \\ एपी 9 लाइन पर
पीटर कियंगा-कामौ

@ पीटरकियॉन्गा-कमाउ यह आपके विशिष्ट विषय के साथ संगतता-समस्या है। आपके द्वारा पोस्ट की गई त्रुटि डिफ़ॉल्ट WP थीम (जैसे ट्वेंटीवेंटी) के साथ नहीं दिखाई देगी; मैं भी Divi थीम के साथ प्लगइन का उपयोग करता हूं और इसे काफी उपयोगी पाता हूं
फिलिप्पुस

क्या इससे बचने के लिए इस्तेमाल किए जा सकने वाले कम जेनेरिक फ़ंक्शन नाम के किसी प्रकार के नामस्थान या उपयोग नहीं हैं?
पीटर कियॉन्गा-कामौ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.