嘿我的主题使用此功能来显示帖子的类别,但它也创建了我想要删除的链接。我更喜欢PHP而不是JavaScript解决方案。
以下是代码:
<p class="postmeta">
<?php if ( 'post' == get_post_type() ) : // Hide category and tag text for pages on Search ?>
<?php
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( __( ', ', 'gridster' ) );
if ( $categories_list && gridster_categorized_blog() ) :
?>
<?php /*printf( __( '%1$s', 'gridster' ), $categories_list );*/ echo $categories_list; ?>
<?php endif; // End if categories ?>
<?php endif; // End if 'post' == get_post_type() ?>
</p>
如何取消这些链接?
或从DOM中删除所有链接(但这可能会创建更多工作,因为实际文本位于<a>
标记之间
HTML
<p class="postmeta">
<a target="_blank" href="http://whatever.com/category/default/" title="View all posts in Default" rel="category tag">Default</a>
</p>
谢谢!
答案 0 :(得分:6)
如果您只想返回一个文本字符串并使用本机get_the_categories()
函数,您只需将其包装在PHP's strip_tags()
function中即可删除所有返回的HTML:
echo strip_tags( get_the_category_list(__( ', ', 'gridster' ));
答案 1 :(得分:3)
您可以尝试修改此选项以满足您的需求:
<?php
foreach((get_the_category()) as $category) {
echo $category->cat_name . ' ';
}
?>
(来自http://premium.wpmudev.org/blog/how-to-get-a-wordpress-category-name-without-the-link/)
答案 2 :(得分:0)
一个选项是copy the original function并适应您的需求。修改为删除<a>
标记但未经过测试,与原始标记进行比较,根据需要进行调整,并将其添加到主题functions.php
:
function category_list_so_22771587( $separator = '' ) {
global $wp_rewrite;
$categories = get_the_category( $post_id );
$thelist = '';
$i = 0;
foreach ( $categories as $category ) {
if ( 0 < $i )
$thelist .= $separator;
switch ( strtolower( $parents ) ) {
case 'multiple':
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, true, $separator );
$thelist .= $category->name;
break;
case 'single':
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, false, $separator );
$thelist .= $category->name;
break;
case '':
default:
$thelist .= $category->name;
}
++$i;
}
return $thelist;
}
将模板修改为:
$categories_list = category_list_so_22771587( __( ', ', 'gridster' ) );
答案 3 :(得分:0)
你只是想隐藏链接吗?如果是这样,请使用css:
.postmeta a {display: none}
编辑,您还可以&#34;禁用&#34; css中的那些链接:
.postmeta a {
pointer-events: none;
cursor: default;
}
答案 4 :(得分:0)
您可以检索类别,提取每个项目的“名称”列,并用逗号内含每个值:
<?= implode(', ', (array_column(get_the_category(), 'name')))?>
或者您可以检索带有链接的类别列表,并删除标签:
<?= strip_tags(get_the_category_list(', ')) ; ?>