कस्टम पोस्ट प्रकार व्यवस्थापक स्क्रीन पर 'मेनू ऑर्डर' कॉलम जोड़ना


33

मैं menu orderएक विशिष्ट उद्देश्य के लिए उपयोग होने जा रहे कस्टम पोस्ट प्रकार के लिए आदेश को नियंत्रित करने के लिए विशेषता का उपयोग करना चाहता हूं ।

इसे CPT के माध्यम से जोड़ना काफी आसान है, supports => array('page-attributes')लेकिन मैं इस CPT के लिए व्यवस्थापक सूची स्क्रीन पर मेनू ऑर्डर मूल्य कैसे प्रकट करूं?

जवाबों:


48

ठीक है - अंत में काफी सरल निकला - जैसा कि मैंने किसी तरह का मानसिक ब्लॉक किया था - ऑब्जेक्ट menu_orderमें एक चर है $post(मुझे याद दिलाने के लिए @brady के लिए धन्यवाद)।

@ स्क्रिबल कॉलम मान बनाने पर scribu की पोस्ट बाकी देता है।

इसलिए, कस्टम पोस्ट प्रकार को कहा जाता है header_text, ये कार्य और हुक हैं जिनकी आवश्यकता है:

आदेश के लिए एक नया कॉलम जोड़ें

/**
* add order column to admin listing screen for header text
*/
function add_new_header_text_column($header_text_columns) {
  $header_text_columns['menu_order'] = "Order";
  return $header_text_columns;
}
add_action('manage_edit-header_text_columns', 'add_new_header_text_column');

कॉलम मानों को रेंडर करें

/**
* show custom order column values
*/
function show_order_column($name){
  global $post;

  switch ($name) {
    case 'menu_order':
      $order = $post->menu_order;
      echo $order;
      break;
   default:
      break;
   }
}
add_action('manage_header_text_posts_custom_column','show_order_column');

सॉर्ट करने के लिए कॉलम सेट करें

/**
* make column sortable
*/
function order_column_register_sortable($columns){
  $columns['menu_order'] = 'menu_order';
  return $columns;
}
add_filter('manage_edit-header_text_sortable_columns','order_column_register_sortable');

WP 3.1 में, manage_edit - $ {post_type} _columns को _ _ $ {post_type} _posts_columns: codex
ptriek

क्या वास्तव में इसे डिफ़ॉल्ट आदेश देने का कोई तरीका नहीं है? पेज की तरह?
Howdy_McGee

7

यह बहुत लंबा हो गया है, लेकिन केवल रिकॉर्ड के लिए, आप व्यवस्थापक में 'मेनू ऑर्डर' विकल्प प्रदर्शित कर सकते हैं, बस 'पृष्ठ-विशेषताओं' को 'समर्थन' विकल्प सरणी में शामिल कर सकते हैं। उदाहरण के लिए:

    register_post_type( 'columna',
    array(
        'labels' => array(
            'name' => __( 'Columnas' ),
            'singular_name' => __( 'Columna' ),
        ),
        'supports' => array( 'title', 'thumbnail', 'excerpt', 'page-attributes' ),
        'public' => true,
        'has_archive' => false,
        'menu_position'=>5
    )
);

2
प्रश्न पोस्ट करने वाला व्यक्ति पहले से ही 'पृष्ठ-विशेषताओं' से अवगत है। यह आवश्यक तरीके से पृष्ठ क्रम मान नहीं दिखाना चाहिए।
s_ha_dum

कस्टम पोस्ट प्रकार के समर्थन में मेरे पास पृष्ठ-विशेषताएँ हैं, जो उन कस्टम पोस्ट प्रकारों में से किसी एक को संपादित करते समय साइडबार में मेनू क्रम को जोड़ता है, लेकिन जब wp व्यवस्थापक में कस्टम पोस्ट प्रकार के सभी आइटमों की सूची को देखता है तो यह नहीं होता है मेनू ऑर्डर कॉलम दिखाएं। क्या इसे दिखाने के लिए कुछ और आवश्यक है? कॉलम तिथि के लिए स्क्रीन विकल्प के तहत एकमात्र विकल्प है और यह जाँच की जाती है।
cchiera

-3

आपको अपना CPT रजिस्टर करना होगा:

'hierachical' => true

क्या यह नहीं है कि आप संपादन स्क्रीन में आइटम के लिए एक अभिभावक को निर्दिष्ट करने की अनुमति देता है - मैंने इसे आज़माया है, और इससे लिस्टिंग स्क्रीन पर कोई फर्क नहीं पड़ता
au

1
माफ करना, नहीं पता था कि आप सूची में कस्टम स्तंभ जोड़ना चाहते हैं ... शायद यह आप शुरू करने के लिए एक बिंदु देता है: shibashake.com/wordpress-theme/add-custom-post-type-columns
ungestaltbar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.