סקירת התקלה
השורטקוד rank_math_html_sitemap שמספק התוסף Rank Math SEO מציג מפת אתר HTML שכוללת עמודים מכל השפות, במקום להציג תוכן רק בשפה הנוכחית.
פתרון עוקף
בעיה זו תוקנה. עדכון לגרסה העדכנית ביותר פותר זאת באתר שלך, לכן אתה זקוק לפתרון עוקף זה רק אם עדיין אינך יכול לעדכן.
אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.
- פתח את הקובץ …/wp-content/plugins/seo-by-rank-math/includes/modules/sitemap/html-sitemap/class-posts.php.
- חפש את שורה 88.
- שנה את:
$sql = " SELECT l.ID, post_title, post_name, post_parent, post_date, post_type, l.post_modified FROM ( SELECT DISTINCT p.ID, p.post_modified FROM {$wpdb->posts} as p LEFT JOIN {$wpdb->postmeta} AS pm ON ( p.ID = pm.post_id AND pm.meta_key = 'rank_math_robots' ) WHERE ( ( pm.meta_key = 'rank_math_robots' AND pm.meta_value NOT LIKE '%noindex%' ) OR pm.post_id IS NULL ) AND p.post_type IN ( '" . $post_type . "' ) AND p.post_status IN ( '" . join( "', '", esc_sql( $statuses ) ) . "' ) ORDER BY p.post_modified DESC ) o JOIN {$wpdb->posts} l ON l.ID = o.ID " . $get_child . " ORDER BY " . $sort['field'] . " " . $sort['order']; // phpcs:ignore return $wpdb->get_results( $wpdb->prepare( $sql ) ); // phpcs:ignore - ל:
$current_language = apply_filters( 'wpml_current_language', NULL ); $sql = " SELECT l.ID, post_title, post_name, post_parent, post_date, post_type, l.post_modified FROM ( SELECT DISTINCT p.ID, p.post_modified FROM {$wpdb->posts} as p LEFT JOIN {$wpdb->postmeta} AS pm ON ( p.ID = pm.post_id AND pm.meta_key = 'rank_math_robots' ) INNER JOIN {$wpdb->prefix}icl_translations AS icl ON ( p.ID = icl.element_id AND icl.language_code = %s AND icl.element_type LIKE 'post_%' ) WHERE ( ( pm.meta_key = 'rank_math_robots' AND pm.meta_value NOT LIKE '%noindex%' ) OR pm.post_id IS NULL ) AND p.post_type IN ( %s ) AND p.post_status IN ( '" . join( "', '", esc_sql( $statuses ) ) . "' ) ORDER BY p.post_modified DESC ) o JOIN {$wpdb->posts} l ON l.ID = o.ID " . $get_child . " ORDER BY " . $sort['field'] . " " . $sort['order']; // phpcs:ignore $sql = $wpdb->prepare($sql, $current_language, $post_type); return $wpdb->get_results( $sql ); // phpcs:ignore