嘿,我的主题使用该功能显示后具有的类别,但是也带来了,我想摆脱的联系。我更喜欢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>
谢谢!!
如果你只是想要一个文本字符串返回,并使用原生get_the_categories()
功能,你可以简单地把它包装PHP's strip_tags()
function删除返回所有的HTML:
echo strip_tags( get_the_category_list(__( ', ', 'gridster' ));
你可以尝试修改这个满足您的需求:
<?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/)
一种选择是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' ) );
您可以检索类别,提取每个项目的“名称”栏,并用逗号破灭每个值:
<?= implode(', ', (array_column(get_the_category(), 'name')))?>
或者你可以检索与链接类别列表,删除标签:
<?= strip_tags(get_the_category_list(', ')) ; ?>
你只想隐藏链接?如果是使用CSS:
.postmeta a {display: none}
编辑,也可以“禁用”,在CSS这些链接:
.postmeta a {
pointer-events: none;
cursor: default;
}