Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP超过修剪!文字消失!但是为什么呢?_Php_Wordpress - Fatal编程技术网

PHP超过修剪!文字消失!但是为什么呢?

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

我只想为我的博客帖子显示类别,但对于某些类别(特别是如果它们单独存在,最后一点会被删除)~“音乐”变成“Mu”,“冒险”变成“冒险”…有什么帮助吗?请

// 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
通过了分隔符。这也有同样的结果。谢谢兄弟!成功了!