আমি কীভাবে পোস্ট লুপ থেকে একটি কাস্টম ট্যাক্সনোমি বাদ দিই


22

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

আমি জানি এটি একটি ডাব্লুপিডিবি ক্যোয়ারির মাধ্যমে করা যেতে পারে তবে এটি বেশ সহজ দৃষ্টিকোণ থেকে এমন কিছু দৌড়ে যাওয়ার মতো লাগে যা মোটামুটি সহজ।


5
এই বিভাগে কোনও পদ রয়েছে এমন কোনও পোস্ট, বা আপনি কি আপনার কাস্টম ট্যাক্সনোমির কোনও নির্দিষ্ট শব্দটির কথা উল্লেখ করছেন? উদাহরণ: যদি আমার শ্রবণশক্তিটি ফল হয় এবং আমার দুটি শব্দ থাকে, আপেল এবং কমলা, তবে আমি কি ফলগুলিযুক্ত সমস্ত পোস্ট বা কেবল আপেলযুক্ত পোস্টগুলি বাদ দিতে চাই?
t31os

@ t31os কিউ প্রসারিত করুন: পোস্ট_ট্যাগ, বিভাগ, লিংক_শ্রেণী, ইত্যাদি সমস্তই বিল্ট ট্যাক্সোনমি om সুতরাং, আপনি যদি পোস্টের ট্যাগগুলিকে "পদ" বলেও মনে করেন, এটি এখনও কেবলমাত্র একটি শ্রেণিবিন্যাস (অ-শ্রেণিবদ্ধ) এবং একই "স্তর" হিসাবে "বিভাগ" (শ্রেণিবিন্যাস) শ্রেণিবিন্যাস।
কায়সার

@ T31os উদাহরণ অবিরত রাখার জন্য: আমি কর আদায় ফলের মধ্যে থাকা সমস্ত পোস্টকে বাদ দেওয়ার চেষ্টা করছি (তারা 'আপেল', 'নাশপাতি' বা 'কমলাগুলিতে থাকুক না কেন)।
থমাস

উত্তর:


13

আপনি NOT EXISTSবিভাগীয় স্লাগটি পাশ করার সাথে সাথে অপারেটরটি ব্যবহার করতে চাইবেন , যা আপনার কাস্টম ট্যাক্সোনমি থেকে লুপের মধ্যে কোনও নির্বাচিত বিভাগকে অন্তর্ভুক্ত না করার জন্য কোয়েরিকে বলে।

বিভাগ "ফল" (ফলের ধরণের নির্বিশেষে) থাকা সমস্ত পোস্টকে বাদ দিতে এখানে স্নিপেটটি দেওয়া হয়েছে:

$args = array(
    'post_type'      => 'post',
    'tax_query'      => array(
        array(
            'taxonomy' => 'fruit',
            'operator' => 'NOT EXISTS'
        )
    )
);

$query = new WP_Query( $args );

2
দেখে মনে হচ্ছে এটি NOT INXX সংখ্যা বলার চেয়ে আরও দক্ষ হওয়া উচিত terms। পদগুলির তালিকাটি একটি বৃহত আকারে বাড়তে পারে তবে এর মধ্যে এই শৈলীর নামে সমস্ত শর্তাদি আবরণ করা উচিত।
ইটালিয়ানসোদা

যদিও এটি ওপি-র প্রশ্নের উত্তর (উপবিষ্টিত) হয়েছে, আমাদের মধ্যে বেশিরভাগই সম্ভবত একটি নির্দিষ্ট শব্দ বা শর্তাদির সেট বাদ দিতে চাই। তার জন্য, আপনি এই উত্তর চান ।
রিনোগো

26

এর সমাধানটি আসলে প্রচারিত নয়, তবে এটি হওয়া উচিত।

আপনি নিম্নলিখিতটি করতে পারেন:

$args['tax_query'] = array(
    array(
        'taxonomy' => 'category',
        'terms' => array('cat', 'dog'),
        'field' => 'slug',
        'operator' => 'NOT IN',
    ),
);
query_posts($args);

অপারেটরের যুক্তি অন্যান্য পদ গ্রহণ করতে পারে, তবে উপরের কোডটি মূলত বলা হচ্ছে 'শ্রেণিবদ্ধ' বিভাগ থেকে 'বিড়াল' বা 'কুকুর' শব্দটি নেই এমন সমস্ত পোস্ট পান।


চালাক। তবে তারপরেও আমার এখনও এই শৈলশাস্ত্রটিতে প্রতিটি পদ ম্যানুয়ালি প্রবেশ করতে হবে, তাই না?
টমাস

আমি আপনাকে অনুসরণ করছি না দুঃখিত। শর্তাবলী অ্যারেতে, আপনি আপনার লুপ ক্যোয়ারী থেকে বাদ দিতে চান এমন পদ শব্দের সংজ্ঞা দিন। আপনি যদি সেগুলি গতিশীল হতে চেয়েছিলেন তবে আপনি সম্ভবত প্রতিটি পোস্টে একটি কাস্টম মেটা মান যুক্ত করতে পারেন এবং তারপরে আপনার ক্যোয়ারিতে সেই মেটা কীটির মান পরীক্ষা করতে পারেন এবং এটিই যদি আপনি বোঝাতে চান তবে সেভাবে সেট করতে পারেন।
ডোয়াইন চারিংটন

আহ। আমি আপনার অর্থটি দেখতে পাচ্ছি, তবে এটি সত্যই জটিল।
টমাস

আমি সত্যিই তাকাতে পারি নি, তবে অবশ্যই একটি প্লাগইন থাকতে হবে যা আপনি তখন যা চাইছেন তা করে?
ডোয়াইন চারিংটন

8

কাস্টম পোস্টের ধরণের এবং কাস্টম ট্যাক্সনোমির জন্য এটি কীভাবে করা যায় তা এখানে:

$happening = new WP_Query(
array( 
  'post_type'  => 'news',        // only query News post type
  'tax_query' => array(
    array(
        'taxonomy'  => 'news-cat',
        'field'     => 'slug',
        'terms'     => 'media', // exclude items media items in the news-cat custom taxonomy
        'operator'  => 'NOT IN')

        ),
   )
);

এটি কাস্টম পোস্টের ধরণ থেকে কাস্টম ট্যাক্সনোমি বাদ দিতে পুরোপুরি কাজ করেছে .. স্নিপেটটি শেষ করার জন্য কোয়েরি লুপ কোডটি যুক্ত করতে চেয়েছিল: যখন (_ the_query-> have_posts ()): $ the_query-> the_post ();


0

নির্দিষ্ট শ্রেণীবদ্ধের পদ থেকে পোস্টগুলি বাদ দেওয়ার জন্য আমি নিম্নলিখিতগুলি করেছি:

$argos = array( 
    'tax_query' =>  array (
        array(
            'taxonomy' => 'topics', // My Custom Taxonomy
            'terms' => 'college', // My Taxonomy Term that I wanted to exclude
            'field' => 'slug', // Whether I am passing term Slug or term ID
            'operator' => 'NOT IN', // Selection operator - use IN to include, NOT IN to exclude
        ),
    ),
    'post_type'=>'page', // Post type I want to show, can be a custom post type too
    'posts_per_page' => -1,
    'orderby' => 'title',
    'order'=>'ASC',
    'post_parent' =>$post->ID // show child posts or pages of current page/post
); 

$query = new WP_Query( $args );

0
query_posts( array(
    'post_type' => 'listings',
    'tax_query' => array(
        array(
            'taxonomy' => 'status',
            'field'    => 'slug',
            'terms'    => 'sold',
            'operator' => 'NOT IN'
            ),
        )
    )
);

এই কোডটি পোস্ট_ টাইপ => তালিকা থেকে বিক্রি হওয়া স্থিতি => বাদ দেয়


-1

আমি "RYO 'বিভাগের দৃশ্যমানতা' ওয়ার্ডপ্রেস প্লাগইন ব্যবহার করি যা বেশ ভালভাবে কাজ করে বলে মনে হচ্ছে।

কোন বিভাগটি বিভিন্ন অঞ্চল থেকে দৃশ্যমান বা বাদ রয়েছে তা কোনও প্রশাসক পৃষ্ঠায় আপনি সিদ্ধান্ত নিতে পারেন।

http://ryowebsite.com/wp-plugins/category-visibility/

-Adam


4
আমার কাছে মনে হচ্ছে এটি করার জন্য একটি অতিরিক্ত প্লাগইন ইনস্টল করা শীর্ষে রয়েছে। আমি বরং আমার নির্ভরতা সর্বনিম্ন রাখতে চাই এবং অবশ্যই এটির জন্য একটি উপায় অবশ্যই লুপে করা উচিত।
থমাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.