जवाबों:
उपयोग करें get_page_by_path($page_path)
:
$page = get_page_by_path( 'about' );
echo get_the_title( $page );
यह एक नियमित पोस्ट ऑब्जेक्ट लौटाएगा।
$page = get_page_by_path( 'about/child' );
get_page_by_path
से post_name
फ़ील्ड का उपयोग करता है , नहीं post_slug
।
मैं इस का उपयोग कर रहा हूँ ..
function get_id_by_slug($page_slug) {
$page = get_page_by_path($page_slug);
if ($page) {
return $page->ID;
} else {
return null;
}
}
उम्मीद है कि यह किसी की मदद करेगा।
get_page_by_path
पहले से ही अशक्त ...
इस मंच पर यह पहले ही पूछा और उत्तर दिया जा चुका है। मैं उसी कोड को वहां से पेस्ट कर रहा हूं। पेज आईडी को पुनः प्राप्त करने के लिए इस फ़ंक्शन का उपयोग करें।
function get_page_by_slug($page_slug, $output = OBJECT, $post_type = 'page' ) {
global $wpdb;
$page = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type= %s AND post_status = 'publish'", $page_slug, $post_type ) );
if ( $page )
return get_post($page, $output);
return null;
}
एक ही पृष्ठ में कई बार कोड का उपयोग करने की कोशिश करते समय मुझे चुने हुए उत्तर के साथ समस्या थी। यह मेरे सभी पृष्ठों की सामग्री को हर समय एक ही समय में प्रदर्शित करता रहा। इसलिए मैं सोच में पड़ गया और वर्डप्रेस कोडेक्स के प्रलेखन के आधार पर इस सरल दृष्टिकोण के साथ आया :
<?php $query = new WP_Query( array( 'pagename' => 'about-me' ) );
while ( $query->have_posts() ) {
$query->the_post();
echo '<h2>'. get_the_title() .'</h2>';
the_content();
}
wp_reset_postdata();
?>
शायद यह अभी भी वहाँ किसी के लिए उपयोगी हो सकता है; डी
यहाँ बहुत सारे उत्तर जो अत्यधिक जटिल लगते हैं, या विशेष रूप से पेज आईडी प्राप्त करने का तरीका नहीं बताते हैं।
$page = get_page_by_path("your-page-slug");
if ($page) {
$page_id = $page->ID;
echo $page_id;
}
उपरोक्त विवरण में हमने पोस्ट ऑब्जेक्ट को $ पृष्ठ पर असाइन किया है - एक बार पोस्ट ऑब्जेक्ट होने के बाद आप यहाँ वर्णित किसी भी जानकारी को प्राप्त कर सकते हैं: https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID
$page->post_status
$page->post_title
और भी काफी