শ্রেণীবদ্ধ করে কাস্টম পোস্ট প্রকারের সকল পোস্টের তালিকা করুন


25

আমি কি কোনও উপায় একটি নির্দিষ্ট কাস্টম পোস্ট ধরণের সমস্ত পোস্ট তালিকাভুক্ত করতে এবং তাদের সাথে সংযুক্ত কাস্টম ট্যাক্সনোমি শব্দটি দ্বারা এগুলি সাজানোর কোনও উপায় থাকতে পারি?

উদাহরণ স্বরূপ;

ট্যাক্সনমি টার্ম # 1
পোস্টের ধরণের
পোস্টের ধরণের
পোস্ট টাইপ

ট্যাক্সোনমি মেয়াদ # 2
পোস্টের ধরণের
পোস্টের ধরণ

যে কোন সাহায্যই সর্বাধিক প্রশংসিত হত।

ধন্যবাদ।

উত্তর:


52

এটা চেষ্টা কর

$custom_terms = get_terms('custom_taxonomy');

foreach($custom_terms as $custom_term) {
    wp_reset_query();
    $args = array('post_type' => 'custom_post_type',
        'tax_query' => array(
            array(
                'taxonomy' => 'custom_taxonomy',
                'field' => 'slug',
                'terms' => $custom_term->slug,
            ),
        ),
     );

     $loop = new WP_Query($args);
     if($loop->have_posts()) {
        echo '<h2>'.$custom_term->name.'</h2>';

        while($loop->have_posts()) : $loop->the_post();
            echo '<a href="'.get_permalink().'">'.get_the_title().'</a><br>';
        endwhile;
     }
}

আমরা একটি শ্রেণিবদ্ধের সমস্ত শর্তাদি পাই, সেগুলি লুপ করি এবং সেই পদটির অন্তর্ভুক্ত প্রতিটি পোস্টের একটি শিরোনাম লিঙ্ক বন্ধ করি। যদি আপনাকে ট্যাক্সোনমি শর্তাদি পুনরায় অর্ডার করতে হয় তবে আপনি খুব সহজেই একটি প্লাগইন দিয়ে এটি করতে পারেন। পুনঃক্রম শৃঙ্খলাবদ্ধ , আমি বিশ্বাস করি। কিন্তু বেতন মনোযোগ যে এই প্লাগ-ইন যোগ (!) তে আপনার টেবিল থেকে অন্য কলাম অ্যাক্টিভেশন এবং নিষ্ক্রিয় উপর এটি মুছে যায় না !


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

@ রডরিগোজুলুগা যা তখনকার প্রাথমিক মৌলিক কোয়েরি হবে। দূরে $custom_termsএবং foreach()এবং মাত্র সংজ্ঞায়িত 'terms'স্লাগ্ বা যাই হোক না কেন আপনি চান ম্যানুয়ালি।
ঘোস্টটোস্ট

আমি এটি কিছুটা আলাদা পেয়েছি বলে মনে করি তবে আপনার কোডটি ভাল hell আরগস = অ্যারে ('পোস্ট_ টাইপ' => 'পাবলিকা', 'ট্যাক্স_কোয়ারি' => অ্যারে (অ্যারে ('ট্যাক্সোনমি' => 'কমিশন-পাবলিকেশনস', 'ফিল্ড' =) > 'নাম', 'পদ' => অ্যারে ($ ter_name)),),);
রদ্রিগো জুলুগাগা

1

কোনও বিশেষ মার্জিত সমাধান নয় তবে আপনি নির্দিষ্ট পদগুলির জন্য প্রতিটি একাধিক প্রশ্ন তৈরি করতে পারেন এবং তারপরে সেগুলি আউটপুট দিতে পারেন। আশাকরি কেউ আউটপুট / বাছাইয়ের শর্তাবলী স্বয়ংক্রিয়ভাবে শর্তাদি টানানোর একটি দুর্দান্ত উপায় নিয়ে আসতে পারে। তবে এটি আপনাকে যেতে চাইবে।

<?php

//First Query for Posts matching term1
$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'taxonomy_1',
            'field' => 'slug',
            'terms' => array( 'term1' )
        ),
    ),
    'post_type' => 'my-post-type'
);
$query = new WP_Query( $args );

if ( have_posts() ) {

    $term = $query->queried_object;

    echo 'All posts found in ' . $term->name;

    while ( have_posts() ) : the_post();
        //Output what you want
        the_title();
        the_content();
    endwhile;
}

//RESET YOUR QUERY VARS
wp_reset_query();

//Second Query for term2
$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'taxonomy_1',
            'field' => 'slug',
            'terms' => array( 'term2' )
        ),
    ),
    'post_type' => 'my-post-type'
);
$query = new WP_Query( $args );

if ( have_posts() ) {

    $term = $query->queried_object;

    echo 'All posts found in ' . $term->name;

    while ( have_posts() ) : the_post();
        //Output what you want
        the_title();
        the_content();
    endwhile;
}

0

সুন্দর! ঘোস্টঅন এর সমাধানটি আমি যা খুঁজছিলাম। আমার পরিস্থিতিতে কাস্টম পোস্টের ধরণটি ছিল 'মাইনিং_অ্যাকসিডেন্টস' এবং এর সাথে যুক্ত কাস্টম ট্যাক্সনোমাইগুলি ছিল 'দুর্ঘটনা-ধরণের' যার অধীনে একাধিক শর্ত ছিল। আমার ধারণাটি ছিল এই কাস্টম ট্যাক্সনোমিতে শর্তাবলীতে পোস্টগুলির তালিকা দেখানোর জন্য একটি কাস্টম উইজেট তৈরি করা। আমার পরীক্ষায় এটি যা চেয়েছিল তা পেয়েছে। বিশ্রাম ছিল স্প্রস আপ। আমার কোডটি এখানে:

function fn_get_list_of_mining_accident_types()
{
    $custom_taxonomy='accident-types';  
    $custom_terms = get_terms($custom_taxonomy);    
    $str_return='<ul>';
    foreach($custom_terms as $custom_term) 
    {
        wp_reset_query();
        $args = array(
            'post_type' => 'minining_accidents',
            'tax_query' => array(               
                array(
                    'taxonomy' => $custom_taxonomy,
                    'field' => 'slug',
                    'terms' => $custom_term->slug,
                ),
            ),
        );  

        $loop = new WP_Query($args);

        $term_name=$custom_term->name;
        $term_slug=$custom_term->slug;
        $term_link=get_term_link($term_slug, $custom_taxonomy);

        $str_return.='<li><a href="'.$term_link.'">'.$term_name.'</a>';

        if($loop->have_posts()) 
        {
            $str_return.='<ol>';

            while($loop->have_posts()) : $loop->the_post();
                $str_return.='<li><a href="'.get_permalink().'">'.get_the_title().'</a></li> ';
            endwhile;

            $str_return.='</ol>';           
         }
         $str_return.='</li>';
    }
    $str_return.='</ul>';
    return $str_return;
}

হ্যাঁ! কোডটি আরও উন্নত করার জন্য সর্বদা একটি বিকল্প রয়েছে।


-1

একটি কাস্টম বিভাগ থেকে কাস্টম পোস্টের তালিকা প্রদর্শন করতে

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'your-custom-taxonomy',
            'field' => 'slug',
            'terms' => array( 'your-term' )
        ),
    ),
    'post_type' => 'your-post-type'
);
$loop = new WP_Query($args);
     if($loop->have_posts()) {
    $term = $wp_query->queried_object;
     while($loop->have_posts()) : $loop->the_post();
        //Output what you want      
   echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
      endwhile;
}

খেতাব

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