বর্তমান পৃষ্ঠাটি ব্লগ পৃষ্ঠা কিনা তা পরীক্ষা করুন


33

আমি ওয়ার্ডপ্রেসে নতুন। আমি শিরোনাম ফাইলের কোডের বর্তমান পৃষ্ঠাটি ব্লগ পৃষ্ঠা কিনা তা যাচাই করার জন্য একটি উপায় খুঁজছি।

আমি চেক করেছি কিন্তু আমি কোন উপায় খুঁজে পাচ্ছি না। আমাকে সাহায্য করুন, প্লিজ।

উত্তর:


42

'দ্বারা যদি ব্লগ পৃষ্ঠা ' আপনি যদি একটি বোঝানো স্ট্যাটিক পৃষ্ঠা হিসাবে সেট পোস্ট পৃষ্ঠা মধ্যে পঠন সেটিং , তাহলে আপনি এটি এই করে পরীক্ষা করতে পারে:

if ( is_front_page() && is_home() ) {
  // Default homepage
} elseif ( is_front_page() ) {
  // static homepage
} elseif ( is_home() ) {
  // blog page
} else {
  //everyting else
}

আপনি যখন ব্যবহার করেন is_home()এবং is_front_page(), আপনার বাগগুলি এড়াতে এবং প্রতিটি ব্যবহারকারীর কনফিগারেশন পরীক্ষা করার জন্য আপনাকে এগুলি সঠিক ক্রমে ব্যবহার করতে হবে।

(উত্স: শর্তসাপেক্ষ ট্যাগ্স - ব্লগ পৃষ্ঠা )

বা সহজভাবে:

if ( !is_front_page() && is_home() ) {
  // blog page
}

বা আরও সহজভাবে (আমি মনে করি):

if ( is_home() ) {
  // blog page
}

if ( !is_front_page() && is_home() )কমপক্ষে আমার মতে, ব্যবহারের জন্য একটি ব্যবহারের ক্ষেত্রে হ'ল যদি আপনি কোনও থিম বিতরণ করেন যা ডিফল্ট হোমপেজ এবং ব্লগ পৃষ্ঠার জন্য আলাদা লেআউট শৈলী রয়েছে ।
গিরালদী

আমি খুঁজে পেয়েছি is_front_page () ব্লগ সংরক্ষণাগার বা একটি পৃষ্ঠা বাছাই করা আছে কিনা তা সত্যই ফিরে আসবে। যাচাইকরণের প্রয়োজন। কোডেক্স.ওয়ার্ডপ্রেস.আর.
ফাংশন_রিফারেন্স /

19

আপনি আপনার থিম ফাংশন.এফপি ফাইলটিতে নিম্নলিখিতগুলি ব্যবহার করতে পারেন:

function is_blog () {
    return ( is_archive() || is_author() || is_category() || is_home() || is_single() || is_tag()) && 'post' == get_post_type();
}

এবং তারপরে আপনি যে ফাইলটি যাচ্ছেন তা এতে রেখে দিন:

<?php if (is_blog()) { echo 'You are on a blog page'; } ?>

প্রতিটি পৃষ্ঠায় প্রদর্শিত হওয়ার জন্য আপনি উপরের হুক করতে আপনার ফাংশন.ফ্প ফাইলটিতে হুক ব্যবহার করতে পারেন।


1
আপনি কোনও ব্লগ পৃষ্ঠায় রয়েছেন কিনা তা নির্ধারণ করতে চান তবে এটি ব্লগ পৃষ্ঠায় নয় (ব্লগের হোম পৃষ্ঠায় যেমন রয়েছে) তবে এটি একটি দুর্দান্ত উত্তর । তার জন্য @ গিরালদির উত্তর দেখুন।
টিম ম্যালোন

আমি ভুলভাবে ধরে নিয়েছি is_blog () বিদ্যমান কারণ is_page () উপস্থিত রয়েছে। অফিসিয়াল ওয়ার্ডপ্রেস কন্ডিশনাল ট্যাগ্স সূচীর সাথে পরামর্শ করার জন্য এটি আমার কাছে ঘটেনি । আমি উইজেট লজিক প্লাগইন ব্যবহার করে কার্যকরভাবে এই সমাধানটি প্রয়োগ করতে সক্ষম হয়েছি।
বেলারুশ ডিগনাস

11

যদি 'ব্লগ পৃষ্ঠা' দ্বারা বোঝানো হয় তবে আপনি পড়তে পোস্টের পৃষ্ঠা হিসাবে একটি স্থির পৃষ্ঠা সেট করেছেন:

global $wp_query;

if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) {
    //static blog page
}

গীত। এই সমাধানটি টেমপ্লেট_ড্রাইরেক্ট অ্যাকশনেও কাজ করে


হাই রেপিন্সা, ডাব্লুপিএসইতে স্বাগতম: আপনার উত্তর যুক্ত করার জন্য ধন্যবাদ। এটি কিছুটা নিচে ভোট হয়েছে, সম্ভবত কোডটিতে এটি একটি সিনট্যাক্স ত্রুটি রয়েছে (এটি এর পরে একটি অর্ধবৃত্ত অনুপস্থিত global $wp_query) তবে এটি প্রশ্নের পুরোপুরি উত্তর দেয়নি বলেও। এটি একটি ফাংশন, তবে ওপি তার হেডার ফাইলটিতে এটি কীভাবে কাজ করবে তা জিজ্ঞাসা করেছিল - তাই কী কী রাখা উচিত সে সম্পর্কে তার আরও কিছুটা ব্যাখ্যা দরকার হতে পারে। আবার, স্বাগতম, আপনাকে এখানে পেয়ে খুশি!
টিম ম্যালোন

2
এখানে আসলে একমাত্র ভাল উত্তর, আরও উচিৎ হওয়া উচিত ছিল।
লাচো তোমভ

2

ব্লগের সূচী পৃষ্ঠাটি পেতে , আমি এটি খুঁজে পেয়েছি

if ( !is_front_page() && is_home() ) {
  // blog page
}

আমার পক্ষে কাজ করছে না, ব্লগ পৃষ্ঠা পোস্ট_আইডি সনাক্ত করতে আমাকে get_option ('page_for_posts') ফাংশনটি ব্যবহার করতে হয়েছিল, আমার উত্তরটি হ'ল

if ( !is_front_page() && is_home() ){  

    if ( empty ( $post_id) ) {
        global $post;
        $post_id =  get_option( 'page_for_posts' );
    }

    //blog page
}

0

একটি কৌশল আছে।

http://example.com/blog

মনে করুন আপনার ব্লগ পৃষ্ঠার স্লাগ যদি হয় তবে blogআপনি এই কোডটি ব্যবহার করতে পারেন।

global $wp_query;
if($wp_query->query['pagename']=='blog'){
// this is blog page
}

0

বিশ্বের সেরা

if(is_home() && is_front_page() || is_front_page()): // static or default hompage
 ...
endif;

ব্লগ

if(is_home() && !is_front_page()): // blog
 ...
endif;

0

আমি অনুমান করি যে এটি খুব সহজ আমি একই পরিস্থিতিতে ছিলাম এবং আমি নিম্নলিখিত কৌশলটি ব্যবহার করেছি যা পৃষ্ঠা স্লাগ ব্যবহার করতে হয়।

if( is_page('blog') ) {
echo "This is your blog page"; 
}

তবে নিশ্চিত হয়ে নিন যে আপনি সাম্প্রতিক ব্লগ পোস্টগুলি প্রদর্শন করতে হোমপেজটি নির্বাচিত করেন নি এবং আপনি ব্লগ বা নিউজ ইত্যাদির মতো ব্লগের জন্য একটি নির্দিষ্ট পৃষ্ঠা সেট করেছেন, কেবল সেই পৃষ্ঠা স্লাগটি ব্যবহার করুন এবং আপনি ভাল থাকবেন।


0

তুমি ব্যবহার করতে পার..

<?php if ( is_single() ) { ?>

Do stuff here

<?php } ?>

এটি কোনও একক ব্লগ পোস্ট কিনা তা পরীক্ষা করতে। অথবা ...

<?php if ( is_home() ) { ?>

Do stuff here

<?php } ?>

এটি ব্লগের হোমপেজ কিনা তা পরীক্ষা করতে


2
আপনি যদি ব্লগ পৃষ্ঠা পরিবর্তন করেছেন তবে কাজ করে না
সিডিএমকেই

এটি ওপিতে সঠিক উত্তর সরবরাহ করে না। এটি আপনাকে "ব্লগ পৃষ্ঠায়" নয়, একটি একক পোস্টে নির্দেশ করে।
বাটারলব্লগ

-1

আমি এইভাবে ব্যবহার করি

// Get body classes as array
$body_classes = get_body_class();
// Check if "blog" class exists in the array
if(in_array("blog", $body_classes)) {
   // Do stuff
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.