मैं खोज से पृष्ठ कैसे निकालूं?


13

मुझे अपनी साइट के पृष्ठों की खोज करने की आवश्यकता नहीं है और केवल पोस्ट खोजना चाहते हैं, क्या ऐसा करने का कोई तरीका है? धन्यवाद

search 

जवाबों:


29

नीचे पृष्ठ पोस्ट प्रकार को अब खोज-सक्षम नहीं बनाना चाहिए।

function remove_pages_from_search() {
    global $wp_post_types;
    $wp_post_types['page']->exclude_from_search = true;
}
add_action('init', 'remove_pages_from_search');

मैं उस कोड को कहां रखूं? धन्यवाद

आप इसे अपने विषय के functions.php में रख सकते हैं।
सुंदरबाँच

बहुत बहुत धन्यवाद। मैं बस इसे कॉपी करता हूं और यह पूरी तरह से काम करता है

13

कार्य में निम्नलिखित। अच्छा भी काम करता है:

//Remove pages from search results
function mySearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','mySearchFilter');

shuold छलावा होना। अधिक सुरुचिपूर्ण, अधिक बनाए रखने योग्य। ऊपर hte सिर्फ पोस्ट टाइप params को संशोधित करता है, यह एक खोज क्वेरी ही है। +1
केसर

'पेज' पोस्ट प्रकार के लिए पोस्ट टाइप ऑब्जेक्ट को संशोधित करना एक बेहतर समाधान है। यह समाधान सभी खोज प्रश्नों के लिए पोस्ट प्रकार को 'पोस्ट' के रूप में हार्ड सेट करने के लिए बाध्य करता है, जो किसी भी साइट पर होने पर खोज में दिखाए जाने वाले किसी भी कस्टम पोस्ट प्रकार को बनाए रखेगा। वैश्विक रूप से 'पेज' पोस्ट टाइप ऑब्जेक्ट के बहिष्कृत_फ्रेम_सर्च प्रॉपर्टी को सेट करने का मतलब है कि इस संपत्ति की जाँच करने पर निर्भर करने वाले किसी भी कोड की सही जानकारी होगी।
सुंदरबॉम्प

थोड़ा और जानकारी के साथ कुछ हद तक प्रासंगिक लिंक: codex.wordpress.org/…
its_me

अच्छी तरह से काम करता है, लेकिन bbpress में विषय नहीं है, इसलिए यह अच्छा नहीं है। "$ Wp_post_types ['पेज'] का उपयोग करना -> बहिष्कृत करना_सोचाना = सत्य;" एक अच्छा विकल्प लगता है
किशोर साहू

0

इसे अपनी खोज में लगाएं

<?php if (is_search() && ($post->post_type=='page')) continue; ?>

इस कोड के ठीक नीचे -> <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>

आप यहां अधिक जानकारी पा सकते हैं http://wordpress.org/support/topic/possible-search-only-posts-exclude-pages


मेरे पास कोई खोज नहीं है। यदि मैं किसी अन्य विषय से एक प्राप्त करता हूं तो यह काम करेगा? धन्यवाद

हाँ। सबसे पहले एक रिक्त खोज बनाएँ। इसके बाद index.php से कोड को कॉपी और पेस्ट करें। फिर वही करो जो मैंने आपको ऊपर बताया था।
andrewk

1
वास्तव में आपको @ prettyboymp के कोड का उपयोग करना चाहिए। इसका आसान और वही है जो आपने पूछा था। मैंने इसका परीक्षण किया। अगर आप चाहते हैं ..
andrewk

0

यहां वह कोड है जो यह जांचता है कि खोज व्यवस्थापक की है या नहीं, फिर खोज करने के लिए पोस्ट प्रकार सेट करता है:

if (!is_admin()) {
function wpb_search_filter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','wpb_search_filter');
}

से: http://www.wpbeginner.com/wp-tutorials/how-to-exclude-pages-from-wordpress-search-results/

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