Php 未经证实的辩手。分解意思
我希望能对理解这个致命错误有所帮助 通过查看其他帖子,这里是我认为我理解的,如果我错了,请纠正我。函数get_execrpt()当前正在传递0个内容(参数),它希望至少传递1个?我需要弄清楚如何让get_extract()找到至少一个要传递的参数? 致命错误:未捕获ArgumentCounter错误:函数get_extract()的参数太少,在第74行的/nas/content/live/all4edstg/wp content/themes/all4ed/page-press-room.php中传递了0个,在/nas/content/live/all4edstg/wp content/themes/all4ed/functions中至少应传递1个参数。php:2420 堆栈跟踪:#0/nas/content/live/all4edstg/wp content/themes/all4ed/page press room.php(74):get#u extract()#1/nas/content/live/all4edstg/wp includes/template loader.php(75):include('/nas/content/li…)#2/nas/content/live/all4edstg/wp blog header.php(16):需要#once('/nas/content/li…)#3/nas/content/live/all4edstg/index.17(php):require('/nas/content/li…')#4{main}在第2420行的/nas/content/live/all4edstg/wp content/themes/all4ed/functions.php中抛出 Function.php行:2420Php 未经证实的辩手。分解意思,php,wordpress,error-handling,Php,Wordpress,Error Handling,我希望能对理解这个致命错误有所帮助 通过查看其他帖子,这里是我认为我理解的,如果我错了,请纠正我。函数get_execrpt()当前正在传递0个内容(参数),它希望至少传递1个?我需要弄清楚如何让get_extract()找到至少一个要传递的参数? 致命错误:未捕获ArgumentCounter错误:函数get_extract()的参数太少,在第74行的/nas/content/live/all4edstg/wp content/themes/all4ed/page-press-room.php
function get_excerpt ( $post, $limit = 200, $more = '...' ) {
$post = get_post($post);
if ( ! strlen($post->post_excerpt)) {
return false;
}
if ($limit == -1) return $post->post_excerpt;
// Use the excerpt
$excerpt = $post->post_excerpt;
$excerpt = apply_filters('the_excerpt', $excerpt);
// Strip tags
$excerpt = strip_tags($excerpt);
return trim_text($excerpt, $limit, $more);
}
page-press-room.php行:74
$leftcol .= '<p>'.get_excerpt().'</p>';
$leftcol.=''。获取摘录()。';
看一看
您会注意到函数的定义如下:
function get_excerpt( $post, $limit = 200, $more = '...' ){
这意味着需要
$post
,因为它没有默认值,但是$limit
和$more
可以省略,因为它们有默认值(分别为200个字符和假椭圆)
这意味着您有两个选择:
1) 重写函数以处理默认的$post
值
2) 将帖子传递到函数调用中。$leftcol.=''。获取摘录(1234)。'代码>
最简单的方法是#2,只需将全局post ID传递给函数,取决于代码的其余部分,它看起来类似于以下任何一种:
$leftcol .= '<p>'.get_excerpt( get_the_ID() ).'</p>';
$leftcol .= '<p>'.get_excerpt( $post->ID ).'</p>';
$leftcol .= '<p>'.get_excerpt( $post_id ).'</p>';
$post
在函数调用中是必需的,因为它没有默认值。请原谅我的无知,但是函数中是否已经有post,或者是否有其他位置我应该放置它函数***get_extract($post…***您必须始终将$post
变量传递到函数中,例如,get_extract($post)
。后两个参数($limit
和$more
)是可选的,因为它们在函数声明中定义了默认值。哇,这太清楚了,谢谢。我现在要测试一下是的,我的工作形式非常旧,我无法更新。我正在重新设计整个网站,但我遇到了主题问题,因为我们不得不迁移到PHP7.2。这就解决了它!谢谢@Xhynk
function get_excerpt( $post = null, $limit = 200, $more = '...' ){
if( $post == null ) $post = get_the_ID();
$post = get_post( $post );
if( ! strlen($post->post_excerpt) ){
return false;
}
if( $limit == -1 )
return $post->post_excerpt;
// Use the excerpt
$excerpt = $post->post_excerpt;
$excerpt = apply_filters('the_excerpt', $excerpt);
// Strip tags
$excerpt = strip_tags($excerpt);
return trim_text($excerpt, $limit, $more);
}