আমি ব্লগটিকে হোম পৃষ্ঠা ছাড়া অন্য একটি পৃথক পৃষ্ঠা হিসাবে সেট করেছি।
আমি single.php থেকে এই ব্লগ পৃষ্ঠায় একটি লিঙ্ক পেতে চাই।
ব্লগের জন্য ইউআরএল বের করার কোনও ফাংশন আছে কি?
আমি ব্লগটিকে হোম পৃষ্ঠা ছাড়া অন্য একটি পৃথক পৃষ্ঠা হিসাবে সেট করেছি।
আমি single.php থেকে এই ব্লগ পৃষ্ঠায় একটি লিঙ্ক পেতে চাই।
ব্লগের জন্য ইউআরএল বের করার কোনও ফাংশন আছে কি?
উত্তর:
স্যাগিভের উত্তরটি তৈরি করতে, আপনি আসল লিঙ্কটি পেতে get_permalink () এ আইডিটি মোড়াতে চান।
<a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>">Our Blog</a>
ওয়ার্ডপ্রেস 4.5 হিসাবে আপনি ব্যবহার করতে পারেন:
get_post_type_archive_link( 'post' );
হোমপৃষ্ঠায় বা নির্দিষ্ট পৃষ্ঠায় পোস্টগুলি প্রদর্শিত হোক না কেন এটি সঠিক URL প্রাপ্তির যুক্তি পরিচালনা করে।
পারমালিঙ্ক সেট করার আগে বিকল্পটি চেক করার সর্বোত্তম উপায়টি হ'ল:
if ( get_option( 'page_for_posts' ) ) {
echo '<a href="'.esc_url(get_permalink( get_option( 'page_for_posts' ) )).'">'.esc_html__( 'Blog', 'textdomain' ).'</a>';
} else {
echo '<a href="'.esc_url( home_url( '/' ) ).'">'.esc_html__( 'Blog', 'textdomain' ).'</a>';
}
আপনি ব্যবহার করতে পারেন get_option
এর page_for_posts
হয় পৃষ্ঠার ID পেতে একটি পরিবর্তনশীল তা নির্ধারণ অথবা এটি echo যদি আপনি তা করতে ইচ্ছুক।
<?php $postsPageId = get_option('page_for_posts'); ?>
<a href="index.php?p=<?php echo $postsPageId; ?>">Our Blog</a>
ডিফল্ট get_option দেখার অতিরিক্ত তথ্যের জন্য: বিকল্প রেফারেন্স
হিউ ম্যানের সাথে সম্মত হোন যে লিঙ্কটি প্রতিধ্বনিত হওয়ার আগে বিকল্পটি পরীক্ষা করা ভাল, তবে স্থির পৃষ্ঠাটি প্রথম পৃষ্ঠা হিসাবে সেট করা এবং পোস্ট পৃষ্ঠা খালি রেখে দেওয়া সম্ভব। এই ক্ষেত্রে, লিঙ্কটি কেবলমাত্র হোম ইউআরএলকে নির্দেশ করবে। পোস্টের সংরক্ষণাগার পৃষ্ঠায় ফ্যালব্যাক সরবরাহ করা আরও ভাল পদ্ধতির। এটার মতো কিছু:
function slug_all_posts_link() {
if ( 'page' == get_option( 'show_on_front' ) ) {
if ( get_option( 'page_for_posts' ) ) {
echo esc_url( get_permalink( get_option( 'page_for_posts' ) ) );
} else {
echo esc_url( home_url( '/?post_type=post' ) );
}
} else {
echo esc_url( home_url( '/' ) );
}
}
esc_url
get_permalink
home_url