सवाल पोस्ट शीर्षक से वर्डप्रेस पोस्ट आईडी प्राप्त करें


मुझे एक कस्टम वर्डप्रेस थीम के साथ कोई समस्या है जो मैं विकसित कर रहा हूं। यह थोड़ा उलझन में है, लेकिन अनिवार्य रूप से, मुझे जो करना है उसे पोस्ट पोस्ट द्वारा पोस्ट आईडी प्राप्त करना है। छद्म कोड में यह आदर्श रूप से कुछ ऐसा होगा:

title = "foo";
post_id = get_post_id_where_title_is(title);

वर्णित शीर्षक एक स्थिर संदर्भ है जो वर्डप्रेस से नहीं खींचा जा रहा है, यह पृष्ठ पर पहले से मौजूद है।

अग्रिम में धन्यवाद।


44
2017-10-08 09:33


मूल




जवाब:


किसी भी व्यक्ति के लिए बस एक त्वरित नोट जो इस पर ठोकर खाती है:
get_page_by_title () अब किसी भी पोस्ट प्रकार को संभाल सकते हैं।
$post_type पैरामीटर WP 3.0 में जोड़ा गया है।


84
2017-08-01 09:26



+1 कुछ मनमानी mySQL क्वेरी की तुलना में कोर फ़ंक्शन का उपयोग करने के लिए हमेशा बेहतर होता है। - Tom Auger
समारोह का नाम उलझन में है, हालांकि। - msiemens


अगर कोई और इसके साथ संघर्ष करता है तो समाधान मिला। केवल 4 घंटों के परीक्षण / गूगलिंग के बाद ही निराशा से सवाल पोस्ट किया गया!

function get_post_by_title($page_title, $output = OBJECT) {
    global $wpdb;
        $post = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type='post'", $page_title ));
        if ( $post )
            return get_post($post, $output);

    return null;
}

पर मिला: http://sudarmuthu.com/blog/2009/09/18/retrieving-posts-and-pages-based-on-title-in-wordpress.html


19
2017-10-08 10:01



बस उस फ़ंक्शन को अपने functions.php फ़ाइल में रखें। - Littlejon
ध्यान दें कि यदि आप किसी पृष्ठ के लिए आईडी प्राप्त करना चाहते हैं तो आप post_type को 'पेज' में बदलना चाहेंगे। आप एसक्यूएल से post_type भी छोड़ सकते हैं जहां सभी संशोधन, पेज, और पोस्ट इत्यादि को खोजने के लिए खंड (अन्य शब्दों में सभी प्रकार।) - Arx Poetica
मुझे संदेह है कि यह ड्राफ्ट / ट्रैश किए गए संस्करणों को वापस कर सकता है, क्योंकि इसमें मानदंड नहीं है status='published'.... - cale_b
अब फिक्स्ड, @cale_b - Ivan Castellanos


माइकल माउ की तरह उल्लेख किया गया है:

उपयोग

$my_post = get_page_by_title( 'My Title', OBJECT, 'post' );
echo $my_post->post_content;

आईटी इस ( $page_title, $output, $post_type ) किसी पृष्ठ की बजाय आसानी से पोस्ट प्राप्त करने के लिए।


7
2017-12-27 15:52





यह फ़ंक्शन बनाकर आपको और अधिक मदद करेगा ताकि आपको कोड दोहराने की आवश्यकता न हो

function get_page_id_by_title($title)
{
$page = get_page_by_title($title);
return $page->ID;
}

$title = "your title";
get_page_id_by_title($title);

2
2017-09-15 07:56





आप [लिंक] [http://codex.wordpress.org/Function_Reference/get_page_by_title] के अनुसार निम्न कोड का उपयोग कर सकते हैं1 )!

<?php 
$page = get_page_by_title( 'About' );
wp_list_pages( 'exclude=' . $page->ID );
?>

1
2017-11-06 05:13





पोस्ट और पेज आईडी पाने का एक और तरीका प्लगइन का उपयोग करना है ..

एक प्लगइन है, जो यह करता है, बस आपके सभी पृष्ठों, सभी पोस्ट, सभी श्रेणियों के लिए एक कॉलम जोड़ता है, और आईडी का कॉलम शीर्षक है ... और नीचे, आप सभी पेज / पोस्ट देखेंगे उस कॉलम में सूचीबद्ध आईडी ..

मुझे लगता है कि बहुत उपयोगी होना चाहिए ..

मैं इस प्लगइन का उपयोग अक्सर करता हूं और यह बहुत हल्का होता है।

http://getyourblogready.com/?p=758


0
2018-06-20 19:21



आपके द्वारा प्रस्तावित किए जा रहे कार्यों के बारे में जानने के लिए पोस्टिंग कोड हमारे लिए अधिक उपयोगी होगा ... - nickhar


किसी भी प्रकार की SQL क्वेरी या प्लगइन का उपयोग करने की आवश्यकता नहीं है, इसके लिए वर्डप्रेस मानक फ़ंक्शन का उपयोग करें

$page = get_page_by_title( 'Home' );
$page_id = $page->ID;

0
2017-10-12 08:24





wp क्वेरी का उपयोग कर पोस्ट शीर्षक से पोस्ट आईडी प्राप्त करना आसान है:

global $wpdb;

$rw = $wpdb->get_row( $wpdb->prepare("select * from "your post table name" where post_title='your variable name or your post title'"));

echo $rw->ID;

0
2017-07-06 12:41





1) अलग है शीर्षक पोस्ट करें तथा पोस्ट नाम एक दूसरे से। post_name शायद स्लग है। post_title पद का शीर्षक है।

2)

$titlee = "yourtitle";
echo $id = $wpdb->get_var("SELECT ID FROM $GLOBALS['wpdb']->posts WHERE post_name = $titlee");

0
2017-10-11 00:34



यह सवाल का जवाब कैसे देता है? - James A Mohler