【问题标题】:Add WordPress custom taxonomy terms as css class将 WordPress 自定义分类术语添加为 CSS 类
【发布时间】:2014-08-16 00:25:57
【问题描述】:

在自定义帖子类型存档中,我正在尝试将自定义分类术语 slug 作为 css 类添加到标签中。我已经设法让它输出 page->ID 但努力让 $term->slug 工作。感觉好像我错过了一些非常简单的东西。这是完整的代码,感谢您的帮助:

     <?php

$parent_pages = get_pages( array( 'parent' => 0, 'post_type'=> 'archive', 'orderby' => 'menu_order' , 'order' => 'ASC', 'sort_column' => 'menu_order' ) );
foreach ( $parent_pages as $parent_page ) {


echo '<h1 class="page-heading" id="';
echo $parent_page->post_name;
echo '">';

echo $parent_page->post_title;
echo '</h1>';
 echo '<div class="wrapper grid4">';

$all_pages = get_pages(array( 'post_type'=> 'archive',  'orderby' => 'menu_order' , 'order' => 'ASC', 'sort_column' => 'menu_order' ) );
$child_pages = get_page_children($parent_page->ID, $all_pages );
foreach ( $child_pages as $child_page ) {
  echo '<article class="post col ' . $child_page->ID, $term->slug .'">';

 echo '<a class="fancybox" data-fancybox-type="iframe" href="http://www.iofpi.co.uk/civicworks.net/wp-content/plugins/pdfjs-viewer-shortcode/web/viewer.php?file=http://www.iofpi.co.uk/civicworks.net/wp-content/uploads/2014/05/Citizen_Manchester.pdf" title="' . the_title_attribute('echo=0') . '" >';

  echo get_the_post_thumbnail( $child_page->ID, 'medium');

  echo '</a>';


    echo '<h1>';
  echo $child_page->post_title;
  echo '</h1>';
  echo '</article>';
}
     echo '</div>';
  }
  ?>

【问题讨论】:

  • 你从哪里得到 "$term->slug" 的价值?
  • 不确定我是否理解,我添加了一些自定义分类法,并认为我可以使用 $term->slug 来输出分类法。我该如何获得它们?
  • 在 foreach 使用下面的代码之前查看整个对象。回声“
    ”; print_r($child_pages);回声“
    ”;死();
  • 参考这个link

标签: css wordpress taxonomy


【解决方案1】:

使用此功能get_the_terms( $id, $taxonomy ) 只需将您的案例中的帖子ID '$parent_page->ID' 和分类名称传递给它以从中检索术语。例如:'category'、'post_tag'、'taxonomy slug'

它将返回一个对象,然后您可以使用 $result-&gt;slug 访问 slug。

【讨论】:

  • 谢谢,它看起来像这样:$term = get_the_terms( $parent_page-&gt;ID, $media );,我应该把它放在哪里?抱歉,我是新手。
  • 是的,但这是什么 $media ,您必须将您的分类名称放在这里。将它放在$child_pages = get_page_children($parent_page-&gt;ID, $all_pages ) 之后,现在使用 $term->slug 访问 slug。
  • 感觉就像我快到了,错过了一些愚蠢的东西,但它仍然只是返回 ID 而不是术语 foreach ( $child_pages as $child_page ) { $terms = get_the_terms( $parent_page-&gt;ID, 'media' ); echo '&lt;article class="post col ' . $child_page-&gt;ID, $terms-&gt;slug .'"&gt;';
  • var dump this $terms 并查看结果,它的 slug 字段是否为空值。 ?
  • 返回 bool(false) 不确定我做错了什么。如果我将 $child_page->ID 传递给它,它会返回术语,但是 ` echo '
    ';` 不会显示它。我在 $term->slug 上做错了吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2015-06-29
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多