বিভাগ এবং ট্যাগ অনুসারে পোস্টগুলি কীভাবে জিজ্ঞাসা করবেন?


11

আমি এক্স এবং ট্যাগ ওয়াই বিভাগের সাথে সম্পর্কিত এমন পোস্টগুলির একটি তালিকা দেখানোর চেষ্টা করছি I've আমি নিম্নলিখিত কোডটি চেষ্টা করেছি:

$args = array(
    'posts_per_page' => 4,
    'tag_id' => $tag_id,
    'cat' => $cat_id,
);
query_posts($args);

তবে এটি সঠিকভাবে কাজ করে না এবং কোটাগেরিতে সমস্ত পোস্ট প্রদান করে।

আপনার যে কোনও অন্তর্দৃষ্টি শুনতে পছন্দ করবেন


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

উত্তর:


19

সম্পাদনা: বিভাগ এবং ট্যাগ ছেদাগুলি জিজ্ঞাসা করার সঠিক উপায়ের জন্য নীচে দেখুন।

global $wp_query;
        $args = array(
        'category__and' => 'category', //must use category id for this field
        'tag__in' => 'post_tag', //must use tag id for this field
        'posts_per_page' => -1); //get all posts

$posts = get_posts($args);
        foreach ($posts as $post) :
  //do stuff 
     endforeach;

3

আমি মনে করি এটি ওয়ার্ডপ্রেসে বাগ যা অন্য কোথাও মন্তব্য করা হয়েছে, আইডি না দিয়ে ট্যাগটির নাম ব্যবহার করার চেষ্টা করুন তবে এটি কার্যকর করা উচিত:

$args = array(
    'posts_per_page' => 3,
    'tag' => 'review',
    'cat' => 9,
);
query_posts($args);

আপনি কীভাবে নামবেন তা আমাদের জানতে দিন, নামের একাধিক শব্দের সাথে ট্যাগগুলি দিয়ে কী ঘটে তা নিশ্চিত নয়।


2

আমি এই একই সমস্যার মধ্যে হোঁচট খেয়েছি এবং এটি একটি মাইএসকিউএল অনুরোধ করে সমাধান করেছি।

সংক্ষেপে: get_post (gs আরগস) আপনাকে এমন পোস্টগুলি ফিরিয়ে দেবে যাঁরা = মাই ক্যাটাগরি বা ট্যাগ = মাইটাগ বিভাগে আছেন।

তুমি কি চাও আপনার পরিবর্তন হয় বা করতে এবং

আমার যুক্তিটি ছিল একটি মাইএসকিউএল কোয়েরি নিয়ে সোজা যেতে:

  • ক্যোয়ারী 1 = আমার পোস্ট বিভাগে সমস্ত পোস্ট নির্বাচন করুন My
  • ক্যোয়ারি 2 = মাইটাগ ট্যাগযুক্ত সমস্ত পোস্ট নির্বাচন করুন
  • চূড়ান্ত: কোয়েরি 1 এবং কোয়েরি 2 এ থাকা সমস্ত পোস্ট নির্বাচন করুন।

আমি ব্যবহৃত wpdb query_post এর () পরিবর্তে;

কোডের একটি বিট (মাইকিগ এবং ট্যাগ মাইট্যাগ বিভাগ সহ প্রকাশিত পোস্টগুলি ফিরিয়ে দেওয়া) :

    $query_byTag="
            SELECT wp_posts.ID
            FROM wp_posts, wp_term_relationships, wp_terms
            WHERE wp_posts.ID = wp_term_relationships.object_id
            AND wp_terms.term_id = wp_term_relationships.term_taxonomy_id
            AND wp_terms.name = 'MyTag'";

    $query_byCat="
            SELECT wp_posts.ID
            FROM wp_posts, wp_term_relationships, wp_terms
            WHERE wp_posts.ID = wp_term_relationships.object_id
            AND wp_terms.term_id = wp_term_relationships.term_taxonomy_id
            AND wp_terms.name = 'MyCat'";

$query ="
            SELECT      wp_posts.post_title AS title , 
                        wp_posts.post_content AS content,
                        wp_posts.post_date AS blogdate 
            FROM wp_posts
            WHERE wp_posts.post_status = 'publish'
            AND wp_posts.ID IN (".$query_byTag.")
            AND wp_posts.ID IN (".$query_byCat.")
            ORDER BY wp_posts.post_date DESC ";

$result= $wpdb->get_results($query);

এটি করার একটি নোংরা উপায় তবে আমি আশা করি এটি সাহায্য করে =)


7
এটি আরও সহজেই সম্পন্ন হয় WP_Queryএবং একটি tax_queryএবং সম্পর্ক , কাঁচা এসকিউএল প্রয়োজন হয় না।
মিলো

এটি অর্জনের জন্য ওয়ার্ডপ্রেসে কাঁচা প্রশ্ন করার কোনও প্রয়োজন নেই।
Drmzindec

2

এই কোডটি কাজ করে:

$args = array(
    'tag' => get_queried_object()->slug, // If permalink like example.com/tag/example-tag, etc.
    'posts_per_page' => -1,
    'tax_query' => array( 
        array(
            'taxonomy' => 'category', // Taxonomy, in my case I need default post categories
            'field'    => 'slug',
            'terms'    => 'interior', // Your category slug (I have a category 'interior')
        ),
        ) 
); // Get all posts
$posts_new = get_posts( $args );

-1
SELECT wp_posts.post_name
FROM wp_posts, wp_term_relationships, wp_terms, wp_term_taxonomy
WHERE wp_posts.ID = wp_term_relationships.object_id
AND wp_terms.term_id = wp_term_taxonomy.term_id
AND wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id
AND wp_terms.name = "MY TAG"

2
কোড কেবলমাত্র উত্তরগুলি খুব কম মানের মান পূরণ করে। দয়া করে আপনার উত্তরটি সম্পাদনা করুন এবং এটি কীভাবে / কোথায় তা প্রয়োগ করতে হবে তার সাথে এটি কীভাবে মূল সমস্যাটি সমাধান করে সে সম্পর্কে নোটস / মন্তব্য অন্তর্ভুক্ত করুন।
Howdy_McGee

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