2011-12-22 14 views
5

मैं शीर्षक के आधार पर वर्णक्रमानुसार मेरी पोस्ट छँटाई रही है, इसलिए जैसे:शीर्षक से तरह वर्डप्रेस पदों, जैसे "", "एक" लेख पर ध्यान न दें, "एक"

<?php 
     { 
     $posts = get_posts($query_string . 
     '&orderby=title&order=asc&posts_per_page=-1'); 
     } 
     get_template_part('loop', 'category'); 
    ?> 

मैं लेख बहिष्कृत करना चाहते हैं जैसे "द", "ए", और "ए" इस प्रकार से।

इसे पूरा करने का सबसे अच्छा तरीका क्या होगा?

धन्यवाद!

उत्तर

1

मुझे लगता है कि करने के लिए कोई आसान तरीका नहीं जानते, लेकिन आप यह कर सकते हैं,

इसे प्राप्त करने के लिए आप पोस्ट करने के लिए एक custom meta field जोड़ने की जरूरत है। इसे नामांकित करें (कहें)।

नई पोस्ट के लिए आप जोड़ते हैं, यह आसान है, आपको अपने संशोधित शीर्षक (शीर्षक, ए, शीर्षक से हटाकर) को जोड़ना पृष्ठ में मैटिटल कस्टम फ़ील्ड में जोड़ना होगा।

पुरानी पोस्ट के लिए यह थोड़ा मुश्किल है, तो आप पोस्ट निकालना चाहते हैं के शीर्षक को पुनः प्राप्त करने के लिए एक php कोड लिखने के लिए है 'एक', 'एक', '' उन लोगों से php preg_replace का उपयोग कर और के लिए इसे जोड़ने कुछ इस तरह का उपयोग कर अपने वर्डप्रेस डेटाबेस का postmeta तालिका:

<?php //inside loop 
$query=INSERT INTO xyz_postmeta (post_id, meta_key, meta_value) VALUES ($postid, 'mytitle' $title); 
$wpdb->query('$query'); ?> 

जहां $ postid पाश और $ शीर्षक के अंदर पोस्ट आईडी है अपने संशोधित शीर्षक है।

अब आपने कस्टम पिछली पोस्ट फ़ील्ड के साथ सभी पिछली पोस्ट अपडेट की हैं।

अब प्रदर्शित करने के लिए, आपको कस्टम लूप का उपयोग करना होगा (थीम में लूप शामिल नहीं है)।

यहां बताया गया है कि आप कैसे शीर्षक के क्रम में क्रमबद्ध पदों को प्रदर्शित करने के लिए मूल कस्टम लूप बना सकते हैं।

$querystr = " 
    SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta 
    WHERE wposts.ID = wpostmeta.post_id 
    AND wpostmeta.meta_key = 'mytitle' 
    AND wposts.post_type = 'post' 
    AND wposts.post_status = 'publish' 
    ORDER BY wpostmeta.meta_value ASC 
    "; 

अब आप किसी भी माध्यम से क्वेरी को निष्पादित कर सकते हैं। Wordpres ऐसा करने के लिए विभिन्न विधियों प्रदान करता है। Here's a link

उदाहरण के लिए आप इस

$pageposts = $wpdb->get_results($querystr, OBJECT); 
foreach ($pageposts as $pagepost) 
{ 
    echo $pagepost->post_title; 
    //do other stuff to display content, meta etc.. 
} 
की तरह कुछ कर सकते हैं