কাস্টম পোস্ট ধরণের জন্য অনুসন্ধান? [বন্ধ]


16

আমি কাস্টম পোস্ট টাইপ ইউআই প্লাগইন ইনস্টল করেছি । এই প্লাগইনটি সক্রিয় হওয়ার পরে আমি একটি কাস্টম পোস্ট টাইপ তৈরি করেছি portfolio। এখন আমি সামনের প্রান্তে পোর্টফোলিও পৃষ্ঠায় এটি ব্যবহার করতে চাই। কাস্টম পোস্ট ধরণের সমস্ত পোস্টportfolio আমি কীভাবে আনব ?

উত্তর:


22
query_posts( array( 'post_type' => array('post', 'portfolio') ) );

যা সাধারণ পোস্ট এবং portfolioপ্রকারের পোস্ট উভয়ই দেখায়

অথবা

query_posts('post_type=portfolio');

শুধুমাত্র portfolio

সাধারণ ডাব্লুপি কোয়েরি হিসাবে ব্যবহার করুন - কোডেক্স পড়ুন: http://codex.wordpress.org/Function_References/query_posts#Usage এবং http://codex.wordpress.org/Function_References/query_posts# পোস্ট_২6 পোস্টের প্যারামিটার

<?php 
    query_posts(array( 
        'post_type' => 'portfolio',
        'showposts' => 10 
    ) );  
?>
<?php while (have_posts()) : the_post(); ?>
        <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
        <p><?php echo get_the_excerpt(); ?></p>
<?php endwhile;?>

6
এটি মোটামুটি পুরানো উত্তর - তবে স্পষ্ট করে বলতে গেলে, আপনার এটি করার উপায়টি নেই। এটি প্রায় অনিবার্যভাবে 404 এর দশকে এবং অন্যান্য সমস্যাগুলির মধ্যে রয়েছে। আপনি কেন ব্যবহার করবেন না সে সম্পর্কেquery_posts()
স্টিফেন হ্যারিস

16

মূল উত্তর হিসাবে দেরী উত্তর ব্যবহার করে query_posts(), যা কখনই করা উচিত নয়

একটি ফিল্টার ব্যবহার করুন

pre_get_postsফিল্টারটি ব্যবহার করুন এবং portfolioমূল ক্যোয়ারির জন্য পোস্টের ধরণটি সেট করুন । আপনি কোথায় এই ফিল্টারটি রাখতে চান তা নির্ধারণের জন্য শর্তসাপেক্ষ ট্যাগ ব্যবহার করুন ।

দ্রুত উদাহরণ

<?php
defined( 'ABSPATH' ) OR exit;
/* Plugin Name: (#6417) "Portfolio" post type in query */

add_filter( 'pre_get_posts', 'wpse_6417_portfolio_posts' );
function wpse_6417_portfolio_posts( $query )
{
    if (
        ! $query->is_main_query()
        // Here we can check for all Conditional Tags
        OR ! $query->is_archive() // For e.g.: Every archive will feature both post types
    )
        return $query;

    $query->set( 'post_type', array( 'post', 'portfolio' ) );

    return $query;
}

দাবি পরিত্যাগী

উপরের কোডটি একটি প্লাগইন, তবে কেবল functions.phpআপনার থিমের ফাইল (যা প্রস্তাবিত নয় ) স্টাফ করতে পারে ।


এটি ফাংশনে যুক্ত করার পরামর্শ দেওয়া হচ্ছে না কেন? অবশ্যই, যদি সাইট অ্যাডমিন থিম পরিবর্তন করে তবে তাদের কীভাবে এই নতুন থিমের সাহায্যে হোম পাতায় পোর্টফোলিও প্রদর্শন করতে হবে তা সম্বোধন করতে হবে। সুতরাং, আমি বলব এটি প্লাগিনের চেয়ে ফাংশনগুলিতে এটি যুক্ত করা ঠিক ততটাই বৈধ। নাকি আমি কিছু মিস করছি?
ফিল হিলি

@ পিফহিলি যেমনটি আপনি বলেছেন, ডেটা অদৃশ্য হবে এবং আপনাকে কোডটি চারপাশে অনুলিপি করে আটকে দিতে হবে। অনুসন্ধানগুলিতে ভারী, যুক্তিযুক্ত পরিবর্তনগুলি প্লাগইনগুলির মাধ্যমে সর্বোত্তমভাবে পরিবেশন করা হয়, যখন থিমগুলিতে প্রদর্শন এবং স্টাইলিং রাখা উচিত।
কায়সার

যদি কোডটি থিমের সাথে নির্দিষ্ট থাকে তবে নয়।
হিলি

@ ফিলিহলে একটি পোস্টের ধরণ কখনও থিমের সাথে নির্দিষ্ট হওয়া উচিত নয়
কায়সার 18

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

4

আপনার প্রধান লুপটিতে আপনার একক সিপিটি পৃষ্ঠাগুলি যুক্ত করতে আপনার সন্তানের থিম ফাংশনগুলি ফাইল (প্রস্তাবিত) এ এই কোডটি যুক্ত করুন

add_action( 'pre_get_posts', 'add_custom_post_types_to_loop' );

function add_custom_post_types_to_loop( $query ) {

if ( is_home() && $query->is_main_query() )

$query->set( 'post_type', array( 'post', 'portfolio' ) );

return $query;

}

উত্স http://codex.wordpress.org/ পোস্ট_টাইপস

অথবা একটি কাস্টম সংরক্ষণাগার-পোর্টফোলিও.পিএফ পৃষ্ঠার টেম্পলেট তৈরি করুন যা কেবলমাত্র আপনার সিপিটি পৃষ্ঠা প্রদর্শন করবে display আপনি কেবলমাত্র প্লাগইন সেটিংস ব্যবহার করে কোনও সংরক্ষণাগার পৃষ্ঠা যুক্ত না করলে এটি করা দরকার।

উদাহরণ: 'has_archive' => সত্য,

এই পৃষ্ঠাটি ব্যবহার করে কত পৃষ্ঠাগুলি প্রদর্শিত হয় এবং সংরক্ষণাগার পৃষ্ঠায় সেগুলি প্রদর্শিত হয় তা আপনিও নিয়ন্ত্রণ করতে পারেন:

add_action( 'pre_get_posts', 'cpt_items' );

function cpt_items( $query ) {

if( $query->is_main_query() && !is_admin() && is_post_type_archive( 'portfolio' ) ) {

$query->set( 'posts_per_page', '8' );

$query->set( 'order', 'ASC' );

    }

}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.