व्यवस्थापक-शैली में एक तालिका बनाना?


44

व्यवस्थापक क्षेत्र में पोस्ट या उपयोगकर्ताओं को दिखाने वाली तालिकाओं की शैली में, तालिका के साथ पृष्ठ बनाने का अनुशंसित तरीका क्या है?

मैं कैश इमेज प्लगइन का विस्तार कर रहा हूं , और इसमें डोमेन के साथ एक तालिका और उस डोमेन से कई छवियां हैं। इसलिए कोई समतुल्य मौजूदा तालिका नहीं है जिस पर मैं निर्माण कर सकता हूं (इस प्रश्न के पहले संस्करण में, मैंने पदों के साथ एक तालिका के बारे में पूछा था, लेकिन वहां मैं (शायद) मौजूदा पोस्ट तालिका का विस्तार कर सकता हूं )।

क्या मुझे केवल पोस्ट ओवरव्यू पृष्ठ पर खुद को आधार बनाना चाहिए , और इसके साथ शुरू करना चाहिए <table class="widefat">, या क्या ऐसे बेहतर कार्य हैं जो अब इसे संभालते हैं? क्या आप पेजिंग के साथ एक साफ, खाली उदाहरण जानते हैं कि मैं अपने काम को आधार बना सकता हूं?


3
वर्डप्रेस यूआई स्टाइलगाइड के लिए एक नया ब्लॉग है, आपको यह मददगार लग सकता है। dotorgstyleguide.wordpress.com/outline
sorich87

2
स्वयं पर ध्यान दें: scribu ने एक आधार वर्ग के साथ WP 3.1 में एक नया अजाक्सिफाइड टेबल सिस्टम जोड़ा WP_List_Table। यह प्रश्न संभवतः इसका उपयोग करने के बारे में जानकारी के साथ अद्यतन किया जा सकता है।
Jan Fabry

जवाबों:


29

यह वह है जो मैं आमतौर पर उपयोग करता हूं:

<table class="widefat fixed" cellspacing="0">
    <thead>
    <tr>

            <th id="cb" class="manage-column column-cb check-column" scope="col"></th> // this column contains checkboxes
            <th id="columnname" class="manage-column column-columnname" scope="col"></th>
            <th id="columnname" class="manage-column column-columnname num" scope="col"></th> // "num" added because the column contains numbers

    </tr>
    </thead>

    <tfoot>
    <tr>

            <th class="manage-column column-cb check-column" scope="col"></th>
            <th class="manage-column column-columnname" scope="col"></th>
            <th class="manage-column column-columnname num" scope="col"></th>

    </tr>
    </tfoot>

    <tbody>
        <tr class="alternate">
            <th class="check-column" scope="row"></th>
            <td class="column-columnname"></td>
            <td class="column-columnname"></td>
        </tr>
        <tr>
            <th class="check-column" scope="row"></th>
            <td class="column-columnname"></td>
            <td class="column-columnname"></td>
        </tr>
        <tr class="alternate" valign="top"> // this row contains actions
            <th class="check-column" scope="row"></th>
            <td class="column-columnname">
                <div class="row-actions">
                    <span><a href="#">Action</a> |</span>
                    <span><a href="#">Action</a></span>
                </div>
            </td>
            <td class="column-columnname"></td>
        </tr>
        <tr valign="top"> // this row contains actions
            <th class="check-column" scope="row"></th>
            <td class="column-columnname">
                <div class="row-actions">
                    <span><a href="#">Action</a> |</span>
                    <span><a href="#">Action</a></span>
                </div>
            </td>
            <td class="column-columnname"></td>
        </tr>
    </tbody>
</table>

उम्मीद है की वो मदद करदे।


क्या इस तरह से स्वचालित पेजेशन डाला जाना है? (उदा। 1-20 पोस्ट दिखाते हुए)
मिचेल स्टैंडर्ट

@MichielStandaert संख्या
कैसर

यदि आप एक पृष्ठवार परिणाम चाहते हैं, तो आप उपयोग कर सकते @MichielStandaert paginate_links
tiltdown

धन्यवाद ! (लेकिन मैं अभी भी पूछ रहा हूं कि उन्होंने :oddपंक्ति के लिए उपयोग क्यों नहीं किया , आइए हम प्रत्येक दो पंक्तियों में एक वर्ग जोड़ दें ...)
ज़ाचरी दहन

स्पष्ट रूप से "बेहतर" समाधान हैं (यहां अन्य उत्तरों की तरह), लेकिन एक त्वरित, बुनियादी तालिका के लिए, यह वही है जो मैं था। धन्यवाद!
रिनोगो

26

कोर एपीआई का उपयोग करें, न केवल इसकी सीएसएस

आम तौर पर आप सिर्फ WP_List_Tableकक्षा के एक उदाहरण का उपयोग करते हैं ।

गाइड:

लाभ?

हाँ!

आप पृष्ठांकन, खोज बॉक्स, कार्य और जो भी जादू आप कल्पना कर सकते हैं (और कोड करने में सक्षम हैं) जोड़ सकते हैं।


1
मार्कअप देखने के लिए लिंक के रूप में छोटा संकेत, व्यवस्थापक इंटरफ़ेस के लिए कक्षाएं, केवल गोल बनाने के लिए लक्ष्य के बिना: github.com/bueltge/WordPress-Admin-Style
bueltge

1
> इस वर्ग की पहुंच निजी के रूप में चिह्नित है। इसका मतलब है कि यह प्लगइन और थीम डेवलपर्स द्वारा उपयोग करने के लिए अभिप्रेत नहीं है क्योंकि यह भविष्य में किसी भी वर्डप्रेस रिलीज में चेतावनी के बिना परिवर्तन के अधीन है। यदि आप अभी भी कक्षा का उपयोग करना चाहते हैं, तो आपको अपने स्वयं के प्रोजेक्ट के साथ उपयोग करने और वितरित करने के लिए एक प्रति बनाना चाहिए, अन्यथा इसे अपने जोखिम पर उपयोग करें।
ऑस्टिन

@AustinPray एक प्रति ? नहीं, कृपया ऐसा न करें। बीपी, आरसी और WP के अन्य पूर्व-रिलीज़ उपलब्ध हैं। बस अपने कार्यान्वयन / विस्तार को अपडेट करें। यदि आपको वास्तव में बग़ल में जाना है, तो बस अपने दम पर कुछ बेहतर लिखें। मूल कोड उतना अच्छा नहीं है
केसर

@kaiser दूत को गोली मत मारो, वे मेरे शब्द नहीं हैं। मैं WP कोडेक्स से उद्धृत कर रहा था। यद्यपि हर बीटा और आरसी के साथ प्रतिगामी प्रतिगमन परीक्षण के लिए खुद को साइन अप करना वर्ग की नकल करने से बेहतर नहीं लगता है। मैं मानता हूं कि आपकी अपनी साधारण कक्षा को लिखना एक बेहतर तरीका है।
ऑस्टिन प्रार्थना

@AustinPray कोई कठिन भावना नहीं :) कोडेक्स आप और मेरे जैसे लोगों द्वारा लिखा गया है। वास्तव में, आप अभी जा सकते हैं और उस कथन को वापस कर सकते हैं और लोग इसे उद्धृत करेंगे।
कैसर

13

अपने व्यवस्थापक तालिकाओं को बनाने के लिए इस उदाहरण का उपयोग करें (एक प्लगइन के रूप में लिखा गया है):

http://wordpress.org/extend/plugins/custom-list-table-example/

यह अंतर्निहित WP_List_Table वर्ग का उपयोग करता है ।


3
मुझे लगता है कि यह स्वीकृत उत्तर होना चाहिए। इस लेख को स्मैशिंग पत्रिका में भी देखें जो एक समान दृष्टिकोण प्रस्तुत करता है: wp.smashingmagazine.com/2011/11/03/…
julien_c


0

आप व्यवस्थापक में अपनी कस्टम पोस्ट प्रकार सूची में एक फ़िल्टर जोड़ने पर विचार करना चाह सकते हैं? नीचे दिए गए लिंक से पता चलता है कि यह कैसे एक वर्गीकरण के साथ करना है लेकिन आप आसानी से अपने restrict_manage_postsहुक में अन्य मानदंडों का उपयोग कर सकते हैं :

यदि आपके और प्रश्न हैं तो मुझे बताएं।


मैं अस्पष्ट प्रश्न के लिए माफी माँगता हूँ। मेरे पहले उदाहरण में यह पोस्ट की एक तालिका थी, और वास्तव में, मैं उसके लिए मौजूदा पोस्ट टेबल का उपयोग करने की कोशिश कर सकता था (भले ही मैं केवल पोस्ट शीर्षक और फिर सभी कस्टम कॉलम दिखाना चाहता हूं?)। लेकिन अब मैंने अपने प्रश्न को एक ठोस उदाहरण के साथ संपादित किया है: मेरे पास डोमेन की एक तालिका है, इसलिए कोई समान मौजूदा तालिका नहीं है जिसका मैं विस्तार कर सकता हूं।
Jan Fabry

@ जान : आह। हां, मुझे लगता है कि आपने सत्य पाया है, कि एचटीएमएल (डुप्लिकेटेड) लिखने के अलावा ऐसा करने का अच्छा तरीका नहीं है। मैं अक्सर एक ही मुद्दा था। हो सकता है कि इस एन्हांसमेंट के लिए ट्रेस पर एक टिकट बनाएं और URL / टिकट को यहां लिंक करें ताकि हम इसका समर्थन कर सकें।
23
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.