رفع خطای Trying to get property ‘post_content’ of non-object در وردپرس
در حین کار با سایت های وردپرسی یا در سطح بالاتر در زمان کار با پروژه های تحت زبان برنامه نویسی PHP گاهاً به خطاهایی بر میخورید که در روند کار اخلال ایجاد میکنند و یا مشکلاتی در اجرای صحیح پروژه شما ایجاد میکنند. خطایی که میخواهیم بررسی کنیم خطای Trying to get property ‘post_content’ of non-object می باشد که در پروژه های وردپرسی با آن مواجه خواهید شد.
حالت نمایش این ارور به صورت های زیر می باشد. که برای رفع آن کافی ست به شیوه زیر عمل کنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Notice: Undefined offset: 0 in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 340 Notice: Trying to get property 'post_content' of non-object in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 340 Notice: Undefined offset: 0 in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 454 Notice: Trying to get property 'post_content' of non-object in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 454 Notice: Undefined offset: 0 in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 522 Notice: Trying to get property 'post_content' of non-object in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 522 Notice: Undefined offset: 0 in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 590 Notice: Trying to get property 'post_content' of non-object in /home/xxx/domains/sitename.com/public_html/wp-content/plugins/magic-login/login-functions.php on line 590 |
در ارور بالا به خط 340 اشاره شده در پروژه به دنبال مسیر اعلام شده میرویم و خط موردنظرمان را پیدا میکنیم. در پروژه فوق خط ارور به کدهای زیر اشاره میکند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function magic_allow_custom_register(){ $allow_custom_register = false; if( MAGIC_Settings::register_page() ){ $allow_custom_register = true; }else if( get_option('permalink_structure') ){ $member_register = get_posts( array( 'post_type' => 'page', 'pagename' => 'member-register' ) ); if ( has_shortcode( $member_register[0]->post_content, 'custom-register-form' ) ) { $allow_custom_register = true; } } return $allow_custom_register; } |
برای حل این موضوع عبارت زیر را اضافی میکنیم.
1 |
isset($post->post_content) && |
و کدهای ما بطور نهایی به شکل زیر خواهد شد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function magic_allow_custom_register(){ $allow_custom_register = false; if( MAGIC_Settings::register_page() ){ $allow_custom_register = true; }else if( get_option('permalink_structure') ){ $member_register = get_posts( array( 'post_type' => 'page', 'pagename' => 'member-register' ) ); if ( isset($post->post_content) && has_shortcode( $member_register[0]->post_content, 'custom-register-form' ) ) { $allow_custom_register = true; } } return $allow_custom_register; } |
با اجرای کد بصورت بالا، تمامی لاگ های ثبت شده مرتفع خواهند شد.