কাস্টম ট্যাক্সনোমির আওতায় পোস্ট পান


31

আমি কাস্টম ট্যাক্সনমি ( fabric_building_types) এর আওতায় পোস্ট পাচ্ছি না । আমি পাচ্ছি cat_idএবং পাচ্ছি cat->nameতবে পোস্টগুলি পেতে সক্ষম হচ্ছি না।

$args = array(
    'type'                     => 'post',
    'child_of'                 => 0,
    'parent'                   => '',
    'orderby'                  => 'name',
    'order'                    => 'ASC',
    'hide_empty'               => 1,
    'hierarchical'             => 1,
    'exclude'                  => '',
    'include'                  => '',
    'number'                   => '',
    'taxonomy'                 => 'fabric_building_types',
    'pad_counts'               => false 
); 

$categories = get_categories( $args );

foreach ( $categories as $cat ) {

    // here's my code for getting the posts for custom post type

    $posts_array = get_posts(
        array(
            'showposts' => -1,
            'post_type' => 'fabric_building',
            'tax_query' => array(
                array(
                    'taxonomy' => 'fabric_building_types',
                    'field' => $cat->cat_ID,
                    'terms' => $cat->name,
                )
            )
        )
    );
    print_r( $posts_array ); 
}

যে কেউ আমাকে সাহায্য করতে পারেন ... অগ্রিম ধন্যবাদ


1
বৈধ মান fieldএকটি ট্যাক্স ক্যোয়ারীতে হয় term_id, nameঅথবা slug
মিলো

উত্তর:


57

আপনার ট্যাক্স ক্যোয়ারী ভুল, fieldক্ষেত্র আপনার উপর ক্যোয়ারী করতে চান হওয়া উচিত: term_id, name, অথবা slug-

$posts_array = get_posts(
    array(
        'posts_per_page' => -1,
        'post_type' => 'fabric_building',
        'tax_query' => array(
            array(
                'taxonomy' => 'fabric_building_types',
                'field' => 'term_id',
                'terms' => $cat->term_id,
            )
        )
    )
);

এই পোস্টগুলি পাওয়ার পরে কীভাবে প্যাগিনেট করবেন?
আন্দ্রে হান্টার

3

আপনি get_terms()যখন পারেন তখন ট্যাক্সনোমির জন্য ব্যবহার করা উচিত ।

<?php 
/* Add your taxonomy. */
$taxonomies = array( 
    'fabric_building_types',
);

$args = array(
    'orderby'           => 'name', 
    'order'             => 'ASC',
    'hide_empty'        => true, 
    'exclude'           => array(), 
    'exclude_tree'      => array(), 
    'include'           => array(),
    'number'            => '', 
    'fields'            => 'all', 
    'slug'              => '', 
    'parent'            => '',
    'hierarchical'      => true, 
    'child_of'          => 0, 
    'get'               => '', 
    'name__like'        => '',
    'description__like' => '',
    'pad_counts'        => false, 
    'offset'            => '', 
    'search'            => '', 
    'cache_domain'      => 'core'
); 

$terms = get_terms( $taxonomies, $args );
foreach ( $terms as $term ) {

// here's my code for getting the posts for custom post type

$posts_array = get_posts(
                        array( 'showposts' => -1,
                            'post_type' => 'fabric_building',
                            'tax_query' => array(
                                array(
                                'taxonomy' => 'fabric_building_types',
                                'field' => term_id,
                                'terms' => $term->name,
                                )
                            )
                        )
                    );
    print_r( $posts_array ); 
}
?>

কোডেক্সের লিঙ্ক : http://codex.wordpress.org/Function_References/get_terms


ধন্যবাদ ... তবে একই সমস্যাটি রয়ে গেছে..অ্যাম্পটি অ্যারে .. কারণ আমি শুল্ক হিসাবে অ্যারে পেয়ে যাচ্ছি তাই কাস্টম পোস্ট টাইপ সংজ্ঞায়িত করতে আমি কিছু ভুল করছি ...
পার্থ কুমার

আপনি কি উপরে আপডেট করা কোডটি এখনও চেষ্টা করেছেন?
কোর্টনি আইভী

1
মিলোর পরামর্শ অনুসারে, মাঠটি একটি স্ট্রিং নেবে..তাই ত্রুটি ছিল ... যার সমাধান হয়ে গেলাম ..
পার্থ কুমার

0
global $post; $id = $post->ID;

$cat = get_the_category($id);
$loc = get_the_terms($id, 'taxonomy');
$posts = get_posts(
array('post_type' => 'post',
    'post_status' => 'publish', 
    'posts_per_page' => -1, 
    'category' => $cat[0]->term_id, 
    'tax_query' => array(
        array(
            'taxonomy' => 'location',
            'field' => 'id',
            'terms' => $loc[0]->term_id,
        )
    )
)
);
print_r($posts);

এটি কাজ করা উচিত।


0

বর্তমান শ্রমশাস্ত্রে নিয়োগের পদ প্রাপ্ত

আপনি ট্যাক্সনমি-আপনার_ট্যাক্স.এফপিতে নীচে কোড যুক্ত করতে পারেন

<div class="a-article-wrapper">

                <?php 

                    $terms = wp_get_post_terms( $post->ID, 'your-taxonomy'); 
                    $terms_ids = [];

                    foreach ( $terms as $term ) {
                        $terms_ids[] = $term->term_id;
                    }

                    $args = array(
                        'post_type' => 'your-post-type',
                        'tax_query' => array(
                            'relation' => 'AND',
                            array(
                                'taxonomy' => 'your-taxonomy',
                                'field'    => 'term_id',
                                'terms'    => $terms_ids
                            )
                        ),
                    );

                    $query = new WP_Query($args);
                    if ( $query->have_posts() ) {
                        while ( $query->have_posts() ) {
                    ?>

                     <div class="row">
                        <div class="col-md-8 a-article-row">
                            <div class="row">
                                <?php $query->the_post();?>
                                <div class="a-post-time">
                                    <span class="a-current-date"><?php the_time('j F, D') ?></span>
                                    <span class="a-current-time"><?php the_time('g:i a') ?></span>
                                </div>
                                <div class="a-article-title">
                                    <?php the_title(); ?> 
                                </div>
                                <div class="a-article-content">
                                    <div id="excerpt"><?php the_excerpt(); ?></div>

                                    <?php the_content(); ?>
                                </div>
                                <div class="a-article-tags">
                                    <?php echo get_the_term_list( get_the_ID(), 'your-taxonomy', '', ',' ); ?>
                                </div>
                            </div>
                        </div>
                    </div>

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