Wordpress:修改内容功能
Wordpress: Modifying the content function
有没有办法修改 the_content() 函数?我想在显示自定义分类负分类法和正分类法时添加 css class。
示例:
<p class="positive">this is a content for the positive taxonomy</p>
<p class="positive">this is a content for the positive taxonomy</p>
<p class="negative">this is a content for the negative taxonomy</p>
我想在author.php代码中应用它:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; else: ?>
<p><?php _e('No posts by this author.'); ?></p>
<?php endif; ?>
与function.php:
add_action( 'pre_get_posts', function ( $q ) {
if( !is_admin() && $q->is_main_query() && $q->is_author() ) {
$q->set( 'posts_per_page', 100 );
$q->set( 'post_type', 'custom_feedback' );
}
});
PS: 我在此处使用自定义 post 类型,自定义分类法包含正面和负面两个类别。
您可以使用 has_term()
来测试 post 是否有某个术语。或者,您可以使用 get_the_terms
获取附加到 post 的术语,并使用术语 slug 作为 css class 中的值。如果 post 有多个术语
,这就有点不可靠了
解决方案 1
<?php
$class = '';
if ( has_term( 'positive', 'custom_taxonomy' ) ) {
$class = 'positive';
} elseif ( has_term( 'negative', 'custom_taxonomy' ) ) {
$class = 'negative';
}
?>
<div class="entry-content ><?php echo $class ?>">
<?php the_content(); ?>
</div>
解决方案 2
<?php
$terms = get_the_terms( $post->ID, 'custom_taxonomy' );
$class = $terms ? $terms[0]->slug : 'normal';
?>
<div class="entry-content ><?php echo $class ?>">
<?php the_content(); ?>
</div>
用法
您现在可以使用 CSS 选择器来定位您的内容
.entry-content positive {}
.entry-content negative {}
有没有办法修改 the_content() 函数?我想在显示自定义分类负分类法和正分类法时添加 css class。
示例:
<p class="positive">this is a content for the positive taxonomy</p>
<p class="positive">this is a content for the positive taxonomy</p>
<p class="negative">this is a content for the negative taxonomy</p>
我想在author.php代码中应用它:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; else: ?>
<p><?php _e('No posts by this author.'); ?></p>
<?php endif; ?>
与function.php:
add_action( 'pre_get_posts', function ( $q ) {
if( !is_admin() && $q->is_main_query() && $q->is_author() ) {
$q->set( 'posts_per_page', 100 );
$q->set( 'post_type', 'custom_feedback' );
}
});
PS: 我在此处使用自定义 post 类型,自定义分类法包含正面和负面两个类别。
您可以使用 has_term()
来测试 post 是否有某个术语。或者,您可以使用 get_the_terms
获取附加到 post 的术语,并使用术语 slug 作为 css class 中的值。如果 post 有多个术语
解决方案 1
<?php
$class = '';
if ( has_term( 'positive', 'custom_taxonomy' ) ) {
$class = 'positive';
} elseif ( has_term( 'negative', 'custom_taxonomy' ) ) {
$class = 'negative';
}
?>
<div class="entry-content ><?php echo $class ?>">
<?php the_content(); ?>
</div>
解决方案 2
<?php
$terms = get_the_terms( $post->ID, 'custom_taxonomy' );
$class = $terms ? $terms[0]->slug : 'normal';
?>
<div class="entry-content ><?php echo $class ?>">
<?php the_content(); ?>
</div>
用法
您现在可以使用 CSS 选择器来定位您的内容
.entry-content positive {}
.entry-content negative {}