注意:尝试在中获取非对象的属性

时间:2019-02-23 作者:TronicM

希望你们中有人能帮助我。在我的wordpress页面上,当我使用搜索功能但没有结果时,我会收到以下消息:

注意:正在尝试获取/var/www/vhosts/tronicmart中非对象的属性。de/httpdocs/wp-content/themes/oceanwp/inc/helpers。php在线3392

注意:正在尝试获取/var/www/vhosts/tronicmart中非对象的属性。de/httpdocs/wp-content/themes/oceanwp/inc/helpers。php在线3400

注意:正在尝试获取/var/www/vhosts/tronicmart中非对象的属性。de/httpdocs/wp-content/themes/oceanwp/inc/helpers。php在线3406

if ( ! function_exists( \'oceanwp_excerpt\' ) ) {

function oceanwp_excerpt( $length = 30 ) {
    global $post;

    // Check for custom excerpt -->line 3392
    if ( has_excerpt( $post->ID ) ) {
        $output = $post->post_excerpt;
    }

    // No custom excerpt
    else {

        // Check for more tag and return content if it exists -->line 3400
        if ( strpos( $post->post_content, \'<!--more-->\' ) ) {
            $output = apply_filters( \'the_content\', get_the_content() );
        }

        // No more tag defined -->line 3406
        else {
            $output = wp_trim_words( strip_shortcodes( $post->post_content ), $length );
        }

    }

    return $output;

}
}

1 个回复
SO网友:Antti Koskinen

如果没有搜索结果,那么可以预期$post 变量为空,并且其中没有要在if语句中使用的属性。

您可以通过添加if语句来确保$post 是3392线之前的样子。

if ( ! is_object($post) || ! is_a($post, \'WP_Post\') ) ) { return; }

或者懒惰的方式if ( empty( $post->ID ) ) { return; }

您可以随时使用var_dump 检查/调试变量,确保它们包含所需的内容。

相关推荐

必需:在文件search.php中找到Get_BloInfo(‘模板_url’)。改用GET_TEMPLATE_DIRECTORY_URI

主题检查错误→REQUIRED: get_bloginfo(\'template_url\') was found in the file search.php. Use get_template_directory_uri() instead. Line 21: <img src=\'<?php echo get_bloginfo(\'template_url\') ?>/img/no_results_found.png\'/> 我采取了行动并进行了更改,但该图