Conversation
supportI’m I the only one experiencing this? Simple SEO v2.0.28 – Worpess v6.5.3, post save/update issue? The page I need help with: [ log in to see the link]
More details please.
Without further information I am unable to help. Another posted about getting a 500 error, but I am unable to duplicate this error.
I have the same problem, when update from v2.0.26 to v2.0.28 wordpress 6.5.4, error happens when save any changes in post [22-Jun-2024 05:49:49 UTC] PHP Fatal error Uncaught Error: Call to undefined function app\init\get_home_path() in /var/www/fastuser/data/www/flowin.click/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php:91 Stack trace: 0 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(326): app\init\Sitemap->buildSitemap() 1 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 2 /var/www/fastuser/data/www/flowin.click/wp-includes/plugin.php(517): WP_Hook->do_action() 3 /var/www/fastuser/data/www/flowin.click/wp-includes/post.php(5516): do_action() 4 /var/www/fastuser/data/www/flowin.click/wp-includes/post.php(4718): wp_transition_post_status() 5 /var/www/fastuser/data/www/flowin.click/wp-includes/post.php(4930): wp_insert_post() 6 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php(880): wp_update_post() 7 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/class-wp-rest-server.php(1230): WP_REST_Posts_Controller->update_item() 8 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/class-wp-rest-server.php(1063): WP_REST_Server->respond_to_request() 9 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/class-wp-rest-server.php(439): WP_REST_Server->dispatch() 10 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api.php(428): WP_REST_Server->serve_request() 11 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(324): rest_api_loaded() 12 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 13 /var/www/fastuser/data/www/flowin.click/wp-includes/plugin.php(565): WP_Hook->do_action() 14 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp.php(418): do_action_ref_array() 15 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp.php(813): WP->parse_request() 16 /var/www/fastuser/data/www/flowin.click/wp-includes/functions.php(1336): WP->main() 17 /var/www/fastuser/data/www/flowin.click/wp-blog-header.php(16): wp() 18 /var/www/fastuser/data/www/flowin.click/index.php(17): require(‘…’) 19 {main} thrown in /var/www/fastuser/data/www/flowin.click/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php on line 91
Since updating from v2.0.27 to 2.0.28 I can’t save any post anymore (receiving an error). – WP v6.6.1 – PHP v8.1.29-nmm1 – DB 10.5.25-MariaDB – Theme “Enfold” v6.0.2 – Enfold & Blockeditor Reverting back to v2.0.27 solves this issue.
Please provide the errors, error logs, etc
Hey @coleds the error when trying to save a post says: “Aktualisierung fehlgeschlagen.” (= saving failed). This message is displayed at the top within a div element with the classes “components-notice-list components-editor-notices__dismissible”. What I just notice is the fact, that the post is saved with it’s changes. Error log: #19 {main} thrown in /XXXXX/XXXXX/XXXXX/XXXXX/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php on line 91 [22-Aug-2024 07:41:36 UTC] PHP Fatal error: Uncaught Error: Call to undefined function app\init\get_home_path() in /XXXXX/XXXXX/XXXXX/XXXXX/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php:91 When I do compare the code of your recent changes, you changed @unlink(ABSPATH.'sitemap.xml'); to $path = get_home_path(); @unlink($path.'sitemap.xml'); in two files. So as I understand, your referring WP function get_home_path(); from wp-admin/includes/file.php is not recognized (just guessing). An note at https://developer.wordpress.org/reference/functions/get_home_path/ says: Note that get_home_path() is declared in wp-admin/includes/file.php which is not included by default, except on admin pages when wp-admin/includes/admin.php has been included. // Ensure get_home_path() is declared. require_once ABSPATH . 'wp-admin/includes/file.php'; $home_path = get_home_path(); Maybe this helps.
VERY helpful information. Thank you. I can not duplicate this error. Try adding to the top of “cds-simple-seo/app/init/Sitemap.php” if (!function_exists('get_home_path')) { require_once ABSPATH . 'wp-admin/includes/file.php'; } Let me know if this resolves your issue. If so I will commit the changes.
@coleds Thx for you reply – I added the code after line 8 – so the file at the beginning looks like: <?php namespace app\init; /* Exit if accessed directly. */ if (!defined('ABSPATH')) { exit; } if (!function_exists('get_home_path')) { require_once ABSPATH . 'wp-admin/includes/file.php'; } And: tada, the error is gone 😉 BTW: thank you for your great plugin and also for your support.
@coleds Just to mention: wouldn’t it make sense then to only include the function instead of including the whole file? Something like: function get_home_path() { if (function_exists('get_home_path')) { return get_home_path(); } $home = set_url_scheme(get_option('home'), 'http'); $siteurl = set_url_scheme(get_option('siteurl'), 'http'); if (!empty($home) && 0 !== strcasecmp($home, $siteurl)) { $wp_path_rel_to_home = str_ireplace($home, '', $siteurl); /* $siteurl - $home */ $pos = strripos(str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']), trailingslashit($wp_path_rel_to_home)); $home_path = substr($_SERVER['SCRIPT_FILENAME'], 0, $pos); $home_path = trailingslashit($home_path); } else { $home_path = ABSPATH; } return str_replace('\\', '/', $home_path); } Or to follow your lately added code $path = get_home_path(); @unlink($path.'sitemap.xml'); it then should look like: function get_home_path() { if (function_exists('get_home_path')) { return get_home_path(); } $home = set_url_scheme(get_option('home'), 'http'); $siteurl = set_url_scheme(get_option('siteurl'), 'http'); if (!empty($home) && 0 !== strcasecmp($home, $siteurl)) { $wp_path_rel_to_home = str_ireplace($home, '', $siteurl); /* $siteurl - $home */ $pos = strripos(str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']), trailingslashit($wp_path_rel_to_home)); $path = substr($_SERVER['SCRIPT_FILENAME'], 0, $pos); $path = trailingslashit($path); } else { $path = ABSPATH; } return str_replace('\\', '/', $path); }
Great! I will add it to the repo and commit it. Thanks!
More details please.
Without further information I am unable to help. Another posted about getting a 500 error, but I am unable to duplicate this error.
I have the same problem, when update from v2.0.26 to v2.0.28 wordpress 6.5.4, error happens when save any changes in post [22-Jun-2024 05:49:49 UTC] PHP Fatal error Uncaught Error: Call to undefined function app\init\get_home_path() in /var/www/fastuser/data/www/flowin.click/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php:91 Stack trace: 0 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(326): app\init\Sitemap->buildSitemap() 1 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 2 /var/www/fastuser/data/www/flowin.click/wp-includes/plugin.php(517): WP_Hook->do_action() 3 /var/www/fastuser/data/www/flowin.click/wp-includes/post.php(5516): do_action() 4 /var/www/fastuser/data/www/flowin.click/wp-includes/post.php(4718): wp_transition_post_status() 5 /var/www/fastuser/data/www/flowin.click/wp-includes/post.php(4930): wp_insert_post() 6 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php(880): wp_update_post() 7 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/class-wp-rest-server.php(1230): WP_REST_Posts_Controller->update_item() 8 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/class-wp-rest-server.php(1063): WP_REST_Server->respond_to_request() 9 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api/class-wp-rest-server.php(439): WP_REST_Server->dispatch() 10 /var/www/fastuser/data/www/flowin.click/wp-includes/rest-api.php(428): WP_REST_Server->serve_request() 11 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(324): rest_api_loaded() 12 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 13 /var/www/fastuser/data/www/flowin.click/wp-includes/plugin.php(565): WP_Hook->do_action() 14 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp.php(418): do_action_ref_array() 15 /var/www/fastuser/data/www/flowin.click/wp-includes/class-wp.php(813): WP->parse_request() 16 /var/www/fastuser/data/www/flowin.click/wp-includes/functions.php(1336): WP->main() 17 /var/www/fastuser/data/www/flowin.click/wp-blog-header.php(16): wp() 18 /var/www/fastuser/data/www/flowin.click/index.php(17): require(‘…’) 19 {main} thrown in /var/www/fastuser/data/www/flowin.click/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php on line 91
Since updating from v2.0.27 to 2.0.28 I can’t save any post anymore (receiving an error). – WP v6.6.1 – PHP v8.1.29-nmm1 – DB 10.5.25-MariaDB – Theme “Enfold” v6.0.2 – Enfold & Blockeditor Reverting back to v2.0.27 solves this issue.
Please provide the errors, error logs, etc
Hey @coleds the error when trying to save a post says: “Aktualisierung fehlgeschlagen.” (= saving failed). This message is displayed at the top within a div element with the classes “components-notice-list components-editor-notices__dismissible”. What I just notice is the fact, that the post is saved with it’s changes. Error log: #19 {main} thrown in /XXXXX/XXXXX/XXXXX/XXXXX/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php on line 91 [22-Aug-2024 07:41:36 UTC] PHP Fatal error: Uncaught Error: Call to undefined function app\init\get_home_path() in /XXXXX/XXXXX/XXXXX/XXXXX/wp-content/plugins/cds-simple-seo/app/init/Sitemap.php:91 When I do compare the code of your recent changes, you changed @unlink(ABSPATH.'sitemap.xml'); to $path = get_home_path(); @unlink($path.'sitemap.xml'); in two files. So as I understand, your referring WP function get_home_path(); from wp-admin/includes/file.php is not recognized (just guessing). An note at https://developer.wordpress.org/reference/functions/get_home_path/ says: Note that get_home_path() is declared in wp-admin/includes/file.php which is not included by default, except on admin pages when wp-admin/includes/admin.php has been included. // Ensure get_home_path() is declared. require_once ABSPATH . 'wp-admin/includes/file.php'; $home_path = get_home_path(); Maybe this helps.
VERY helpful information. Thank you. I can not duplicate this error. Try adding to the top of “cds-simple-seo/app/init/Sitemap.php” if (!function_exists('get_home_path')) { require_once ABSPATH . 'wp-admin/includes/file.php'; } Let me know if this resolves your issue. If so I will commit the changes.
@coleds Thx for you reply – I added the code after line 8 – so the file at the beginning looks like: <?php namespace app\init; /* Exit if accessed directly. */ if (!defined('ABSPATH')) { exit; } if (!function_exists('get_home_path')) { require_once ABSPATH . 'wp-admin/includes/file.php'; } And: tada, the error is gone 😉 BTW: thank you for your great plugin and also for your support.
@coleds Just to mention: wouldn’t it make sense then to only include the function instead of including the whole file? Something like: function get_home_path() { if (function_exists('get_home_path')) { return get_home_path(); } $home = set_url_scheme(get_option('home'), 'http'); $siteurl = set_url_scheme(get_option('siteurl'), 'http'); if (!empty($home) && 0 !== strcasecmp($home, $siteurl)) { $wp_path_rel_to_home = str_ireplace($home, '', $siteurl); /* $siteurl - $home */ $pos = strripos(str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']), trailingslashit($wp_path_rel_to_home)); $home_path = substr($_SERVER['SCRIPT_FILENAME'], 0, $pos); $home_path = trailingslashit($home_path); } else { $home_path = ABSPATH; } return str_replace('\\', '/', $home_path); } Or to follow your lately added code $path = get_home_path(); @unlink($path.'sitemap.xml'); it then should look like: function get_home_path() { if (function_exists('get_home_path')) { return get_home_path(); } $home = set_url_scheme(get_option('home'), 'http'); $siteurl = set_url_scheme(get_option('siteurl'), 'http'); if (!empty($home) && 0 !== strcasecmp($home, $siteurl)) { $wp_path_rel_to_home = str_ireplace($home, '', $siteurl); /* $siteurl - $home */ $pos = strripos(str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']), trailingslashit($wp_path_rel_to_home)); $path = substr($_SERVER['SCRIPT_FILENAME'], 0, $pos); $path = trailingslashit($path); } else { $path = ABSPATH; } return str_replace('\\', '/', $path); }
Great! I will add it to the repo and commit it. Thanks!