如何将帖子类别显示为 类
How to display posts categories as classes
看来我太笨了,无法做到这一点。看起来很简单,然而……
我创建了一个模板并尝试显示自定义投资组合(由自定义 post 插件注册)这适用于以下代码:
<div id="container">
<?php
//Define your custom post type name in the arguments
$args = array('post_type' => 'boxes_scientists');
//Define the loop based on arguments
$loop = new WP_Query( $args );
//Display the contents
while ( $loop->have_posts() ) : $loop->the_post();
?>
/*
<?php
foreach((get_the_category()) as $category) {
echo $category->cat_name . ' ';
}
?>
<?php the_category(', '); ?>
*/
<div class="some_base_class [categories of the post need to go here]">
<a class="element" href="<?php the_permalink(); ?>"></a>
<div class="portfolio-box">
<div class="portfolio-naming">
<h2 class="portfolio-title"><?php the_title(); ?></h2>
<h3 class="portfolio-attributes"><?php the_content(); ?></h3>
</div>
</div>
<?php the_post_thumbnail(); ?>
</div>
<?php endwhile;?>
但我无法处理注释掉的代码部分并在容器元素的 class 标记内显示类别(对于循环中显示的每个 post)。
其实我也发现了这个概念:
https://lorelle.wordpress.com/2007/09/06/using-wordpress-categories-to-style-posts
这似乎正是我所需要的,但遗憾的是这对我来说根本不起作用。 (将函数放在 functions.php 我的子主题和主题中都没有任何结果)
我在这里误解了什么?有人可以告诉我必须使用的正确代码吗?太棒了。提前致谢!
编辑
所以这终于让我走上了正确的道路:
<?php
[…]
$category = get_the_category();
$firstCategory = $category[0]->cat_name;?>
<div class="some_base_class <?php echo $firstCategory ?>">
我错过了 div 中的“回声”。现在我必须找到显示 post 的 所有 类别的方法,而不是只显示第一个
编辑 2:
<div id="boxes_section" class="main-content master-section-content nano_boxes no-detect no-padding">
<div class="container">
<div class="row">
<div class="col-md-12 normal-column start-animated-content az-fade-in" data-delay="300">
<div class="blank-divider" style="height: 30px;"></div>
<div id="portfolio-item-section" class="portfolio-output masonry-ly-portfolio classic-module no-pagination" data-cols="3">
<?php
//Define your custom post type name in the arguments
$args = array('post_type' => 'boxes_scientists');
//Define the loop based on arguments
$loop = new WP_Query( $args );
//Display the contents
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="single-portfolio-item az-col-full-width-4 [NEED THE CLASSES HERE]">
<a class="classic-portfolio-box normal-type-prt" href="<?php the_permalink(); ?>">
<p class="site_leave"><i class="font-icon-forward"></i>You are going to leave this website</p>
</a>
<div class="portfolio-box">
<div class="portfolio-naming">
<h2 class="portfolio-title"><?php the_title(); ?></h2>
<h3 class="portfolio-attributes"><?php the_content(); ?></h3>
</div>
</div>
<?php the_post_thumbnail(); ?>
</div>
<?php endwhile;?>
</div>
</div>
</div>
</div>
</div>
我只是在 functions.php 写代码类别是这样的:
function sps_category(){
$categories = get_the_category();
foreach ( $categories as $category ) {
echo '<a href="'.esc_url( get_category_link( $category->term_id ) ).'">
'.esc_html( $category->cat_name ).'
</a>';
}
}
然后我在我的页面上调用我的函数
<?php sps_category() ?>
但在其他方面,
您可以像这样在 class 中编写代码:
$categories = get_the_category();
foreach ( $categories as $category ) {
echo '<div class=".esc_attr($category->cat_name)."><a href="'.esc_url( get_category_link( $category->term_id ) ).'">
'.esc_html( $category->cat_name ).'
</a><div>';
}
如果您只想显示 1 个类别,它可以是可编辑的和动态的。
如果你在属性 html 中写一些 php variabel/functions,不要忘记使用转义函数
例如使用 esc_attr(somecode)
如果它 class/title/name/id 属性。
看来我太笨了,无法做到这一点。看起来很简单,然而…… 我创建了一个模板并尝试显示自定义投资组合(由自定义 post 插件注册)这适用于以下代码:
<div id="container">
<?php
//Define your custom post type name in the arguments
$args = array('post_type' => 'boxes_scientists');
//Define the loop based on arguments
$loop = new WP_Query( $args );
//Display the contents
while ( $loop->have_posts() ) : $loop->the_post();
?>
/*
<?php
foreach((get_the_category()) as $category) {
echo $category->cat_name . ' ';
}
?>
<?php the_category(', '); ?>
*/
<div class="some_base_class [categories of the post need to go here]">
<a class="element" href="<?php the_permalink(); ?>"></a>
<div class="portfolio-box">
<div class="portfolio-naming">
<h2 class="portfolio-title"><?php the_title(); ?></h2>
<h3 class="portfolio-attributes"><?php the_content(); ?></h3>
</div>
</div>
<?php the_post_thumbnail(); ?>
</div>
<?php endwhile;?>
但我无法处理注释掉的代码部分并在容器元素的 class 标记内显示类别(对于循环中显示的每个 post)。
其实我也发现了这个概念:
https://lorelle.wordpress.com/2007/09/06/using-wordpress-categories-to-style-posts
这似乎正是我所需要的,但遗憾的是这对我来说根本不起作用。 (将函数放在 functions.php 我的子主题和主题中都没有任何结果)
我在这里误解了什么?有人可以告诉我必须使用的正确代码吗?太棒了。提前致谢!
编辑
所以这终于让我走上了正确的道路:
<?php
[…]
$category = get_the_category();
$firstCategory = $category[0]->cat_name;?>
<div class="some_base_class <?php echo $firstCategory ?>">
我错过了 div 中的“回声”。现在我必须找到显示 post 的 所有 类别的方法,而不是只显示第一个
编辑 2:
<div id="boxes_section" class="main-content master-section-content nano_boxes no-detect no-padding">
<div class="container">
<div class="row">
<div class="col-md-12 normal-column start-animated-content az-fade-in" data-delay="300">
<div class="blank-divider" style="height: 30px;"></div>
<div id="portfolio-item-section" class="portfolio-output masonry-ly-portfolio classic-module no-pagination" data-cols="3">
<?php
//Define your custom post type name in the arguments
$args = array('post_type' => 'boxes_scientists');
//Define the loop based on arguments
$loop = new WP_Query( $args );
//Display the contents
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="single-portfolio-item az-col-full-width-4 [NEED THE CLASSES HERE]">
<a class="classic-portfolio-box normal-type-prt" href="<?php the_permalink(); ?>">
<p class="site_leave"><i class="font-icon-forward"></i>You are going to leave this website</p>
</a>
<div class="portfolio-box">
<div class="portfolio-naming">
<h2 class="portfolio-title"><?php the_title(); ?></h2>
<h3 class="portfolio-attributes"><?php the_content(); ?></h3>
</div>
</div>
<?php the_post_thumbnail(); ?>
</div>
<?php endwhile;?>
</div>
</div>
</div>
</div>
</div>
我只是在 functions.php 写代码类别是这样的:
function sps_category(){
$categories = get_the_category();
foreach ( $categories as $category ) {
echo '<a href="'.esc_url( get_category_link( $category->term_id ) ).'">
'.esc_html( $category->cat_name ).'
</a>';
}
}
然后我在我的页面上调用我的函数
<?php sps_category() ?>
但在其他方面, 您可以像这样在 class 中编写代码:
$categories = get_the_category();
foreach ( $categories as $category ) {
echo '<div class=".esc_attr($category->cat_name)."><a href="'.esc_url( get_category_link( $category->term_id ) ).'">
'.esc_html( $category->cat_name ).'
</a><div>';
}
如果您只想显示 1 个类别,它可以是可编辑的和动态的。
如果你在属性 html 中写一些 php variabel/functions,不要忘记使用转义函数
例如使用 esc_attr(somecode)
如果它 class/title/name/id 属性。