উত্তর:
ব্যবহার 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_References/WP_Post
$page->ID
$page->post_status
$page->post_title
এবং আরো অনেক কিছু