একটি কাস্টম বিভাগের সমস্ত পদ দেখান?


18

আমি কয়েকটি কাস্টম ট্যাক্সনোমী তৈরি করেছি এবং এগুলি থেকে আমার সমস্ত শর্তাদি দেখানো দরকার, আমি এখন পর্যন্ত যা অর্জন করেছি তা হ'ল কর্ষণগুলি যা একটি কাস্টম পোস্টের ধরণে নির্বাচিত / নির্বাচিত হয়েছে তা দেখানো হচ্ছে তবে সেগুলি দেখানোর জন্য আমার সমস্ত প্রয়োজন, অন্যথায় এটি নির্বাচিত বা না । যাতে পরবর্তীতে আমি এমন একটি ফিল্টার তৈরি করতে পারি যা শুল্ক অনুযায়ী কোন কাস্টম পোস্ট ধরণের মান ধারণ করে।

<?php 
$args=array(
  'public'   => true,
  '_builtin' => false
);
$output = 'names'; // or objects
$operator = 'and';
$taxonomies=get_taxonomies($args,$output,$operator); 
if  ($taxonomies) {
  foreach ($taxonomies  as $taxonomy ) {
    $terms = get_terms($taxonomy);
        foreach ( $terms as $term) {
?>
        <li><br><a href="#"><input type="checkbox" name="profile[]" value=""><?php echo $term->name; ?> <br/></a></li>
       <?php 
                }
              }
            }  
            ?>

আমার এতদিন যা আছে।

আগাম ধন্যবাদ!


কোন পর্যায়ে এটি ব্যর্থ হয়? এটির কতটা আপনার পছন্দ মতো কাজ করে?
s_ha_dum

এটি ইস্যুতে কাজ করে তা হ'ল আমি কেবল একটি কাস্টম পোস্ট ধরণের নির্বাচিত শর্তাদি প্রদর্শন করতে পারি। আমি তাদের সকলকে ওয়েদার নির্বাচিত বা না দেখানোর জন্য চাই, আমি একটি ডামি পোস্ট টাইপ রাখতে চাই না যা কেবলমাত্র তাদের দেখানোর জন্য নির্বাচিত সব কিছু রয়েছে।
ডেভিড এইচ

উত্তর:


39

আপনাকে একটি অতিরিক্ত যুক্তি পাস করতে হবে get_terms()। ডিফল্ট হ'ল "খালি" শর্তাবলী - কোনও পদকে বরাদ্দ করা শর্তাবলী hide

$terms = get_terms([
    'taxonomy' => $taxonomy,
    'hide_empty' => false,
]);

তোমাকে অনেক ধন্যবাদ! তবে আমি কিছু জিজ্ঞাসা করতে চাই, আপনি যেখানে প্রথম অ্যারে দেখানো হয়েছে সেখানে উপরে ঘোষণার পরিবর্তে ভেরিয়েবলের ভিতরে কেন একটি অ্যারে তৈরি করবেন?
ডেভিড এইচ

সরলতা। যদি আর্গুমেন্ট অ্যারে আরও জটিল হত তবে আমি এটি প্রথমে ঘোষণা করতাম (খুব সম্ভবত), তবে একক যুক্তির জন্য যা এটি করা সবচেয়ে সহজ উপায় way এটি যেভাবেই সমানভাবে ভালভাবে কাজ করা উচিত।
s_ha_dum

অনেক অনেক ধন্যবাদ :) যে আমাকে অনেক ভেবেছিল। আমি সত্যিই এটার প্রশংসা করছি!
ডেভিড এইচ

ওয়ার্কস !! এখন আমি দেখতে পাচ্ছি যে সমস্ত বিভাগের বিকল্পের সাথে কী চলছে! কিছু প্লাগইন সেখানে জটিল কাঠামো তৈরি করে।
eyal_katz

6

৪.৪.০ থেকে, ট্যাক্সনোমিকে tax আরোগুলি অ্যারেতে 'ট্যাক্সোনমি' যুক্তির মাধ্যমে প্রেরণ করা উচিত:

$terms = get_terms( array(
    'taxonomy' => 'post_tag',
    'hide_empty' => false,
) );

যেখানে পদ নেই এমন পদগুলি ডিফল্টরূপে লুকানো থাকে।


3

এই কোডটি ব্যবহার করে সমস্ত বিভাগ এবং উপশ্রেণীতে কাস্টম ট্যাক্সনোমিগুলি ব্যবহার করে get_terms():

<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'parent' =>0)); 
   foreach($wcatTerms as $wcatTerm) : 
   ?>
<ul>
   <li>
      <a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a>
      <ul class="megaSubCat">
         <?php
            $wsubargs = array(
               'hierarchical' => 1,
               'show_option_none' => '',
               'hide_empty' => 0,
               'parent' => $wcatTerm->term_id,
               'taxonomy' => 'product_cat'
            );
            $wsubcats = get_categories($wsubargs);
            foreach ($wsubcats as $wsc):
            ?>
         <li><a href="<?php echo get_term_link( $wsc->slug, $wsc->taxonomy );?>"><?php echo $wsc->name;?></a></li>
         <?php
            endforeach;
            ?>  
      </ul>
   </li>
</ul>
<?php 
   endforeach; 
   ?>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.