PHP超过修剪!文字消失!但是为什么呢?
我只想为我的博客帖子显示类别,但对于某些类别(特别是如果它们单独存在,最后一点会被删除)~“音乐”变成“Mu”,“冒险”变成“冒险”…有什么帮助吗?请PHP超过修剪!文字消失!但是为什么呢?,php,wordpress,Php,Wordpress,我只想为我的博客帖子显示类别,但对于某些类别(特别是如果它们单独存在,最后一点会被删除)~“音乐”变成“Mu”,“冒险”变成“冒险”…有什么帮助吗?请 // Category boxes :P function showcatz() { global $post; echo '<div class="categz_wrapper"><div class="categz">'; // get the category IDs assigned to post $cate
// Category boxes :P
function showcatz() {
global $post;
echo '<div class="categz_wrapper"><div class="categz">';
// get the category IDs assigned to post
$categories = wp_get_post_categories( $post->ID, array( 'fields' => 'ids' ) );
// separator between links
$separator = '</div><div class="categz"> ';
if ( $categories ) {
// List categories
$cat_ids = implode( ',' , $categories );
// Remove ONE category from the list
$kill = array("411,", "411");
$killit = str_replace($kill, "", $cat_ids);
$cats = wp_list_categories( 'title_li=&style=none&echo=0&include=' . $killit);
$cats = rtrim( trim( str_replace( '<br />', $separator, $cats ) ), $separator );
// Only show categories if there is any
if ( $killit ) { echo $cats; }
}
echo '</div></div>';
}
//类别框:P
函数showcatz(){
全球$员额;
回声';
//获取分配给post的类别ID
$categories=wp\u get\u post\u categories($post->ID,数组('fields'=>'ID'));
//链接之间的分隔符
$separator='';
如果($类别){
//列出类别
$cat_id=内爆(',',$categories);
//从列表中删除一个类别
$kill=数组(“411,”,“411”);
$killit=str_replace($kill,“,$cat_id);
$cats=wp\u list\u categories('title\u li=&style=none&echo=0&include='。$killit);
$cats=rtrim(修剪(str_replace('
',$separator,$cats)),$separator);
//仅显示类别(如果有)
如果($killit){echo$cats;}
}
回声';
}
您将一个名为$separator
的参数传递给rtrim,该参数的值为
,因此当执行以下语句时,它将从字符串中删除以下字符。divblategz
rtrim( str_replace( '<br />', $separator, $cats ) ), $separator );
rtrim(str_替换('
',$separator,$cats)),$separator);
解决方案是,删除rtrim的第二个参数,因为它会删除$separator字符列表中出现的每个字符,包括d
,i
,v
,c
,l
,a
,s
,g
,z
,etcTo赞同马克·贝克的评论:结束,实际上是外部rtrim
通过了分隔符。这也有同样的结果。谢谢兄弟!成功了!