威言威语
我愿像茶,苦涩留心,清香予人。
威言威语
当前位置: 首页 > 设计 > 正文

WordPress主题在PHP不同版本报错或者通知的处理记录

在设计WordPress主题的时候,由于PHP及WordPress版本的问题,可能会产生一些Warning、Notice、Deprecated,根据调整修复的,做一些记录。

在设计WordPress主题的时候,由于PHP及WordPress版本的问题,可能会产生一些Warning、Notice、Deprecated,根据调整修复的,做一些记录。

  1. Notice: Trying to get property ‘comment_parent’ of non-object
  2. 原代码为

    	if($comment->comment_parent > 0) {
    

    改为

    	if(isset($comment->comment_parent) && $comment->comment_parent > 0) {
    

    上述改法同样解决了PHP8报的:Warning: Attempt to read property “comment_parent” on null in

  3. Deprecated: 函数 wp_blacklist_check 自版本 5.5.0 起已弃用!请使用 wp_check_comment_disallowed_list() 替代。
  4. 原代码为

    if( wp_blacklist_check( $comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'] )) {
    

    改为

    if( wp_check_comment_disallowed_list( $comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'] )) {
    
  5. Deprecated: Function get_bloginfo was called with an argument that is deprecated since version 2.2.0! siteurl 选项已被函数 bloginfo() 取代,请改用 url 选项。
  6. 原来获取博客首页使用的是

    <?php bloginfo('siteurl'); ?>
    

    改为

    <?php bloginfo('url'); ?>
    

    siteurl,home 在WordPress2.2版本就弃用了。推荐直接使用url。具体可以参考bloginfo()的用法。

  7. Deprecated: 函数 get_settings 自版本 2.1.0 起已弃用!请使用 get_option() 替代。
  8. 原来获取博客首页使用的是

    <?php echo get_settings('Home'); ?>
    

    问题与上面一样,get_settings()在WordPress2.1版本就弃用了,提示是用 get_option() 替代

    <?php echo get_option('home'); ?>
    

    当然如果只是获取博客首页,同样可以使用 bloginfo()

  9. Deprecated: 函数 get_currentuserinfo 自版本 4.5.0 起已弃用!请使用 wp_get_current_user() 替代。
  10. 原代码为

    global $current_user;
    get_currentuserinfo();
    echo get_avatar( $current_user->user_email, 50); 
    

    改为

    $current_user = wp_get_current_user();
    echo get_avatar( $current_user->user_email, 50);
    
  11. Notice: Undefined variable: pre_HTML in
  12. 这个基本上就是变量未定义提示的,可以在合适位置加上global定义就行。

    global $pre_HTML;
    
  13. Warning: Undefined variable $ip1num
  14. 一般情况下php是不需要定义变量的,在PHP8下面,对变量定义要求严格了,这个报错就是使用了未经赋值的变量的值,一般解决方法就是给变量初始化。需要在合适位置加上以下代码。

    $ip1num = '';
    
本文固定链接: https://www.weisay.com/blog/wp-themes-php-notice-warning.html | 威言威语

您可能还会对这些文章感兴趣!

WordPress主题在PHP不同版本报错或者通知的处理记录:等您坐沙发呢!

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

question razz sad smile redface biggrin shock confused cool lol mad rolleyes wink neutral cry

快捷键:Ctrl+Enter