ข้ามการนำทาง

Open

Reported for: WPML Multilingual CMS 4.6.13

Topic Tags: Compatibility

Overview of the issue

When the Use directory for default language option is enabled in WPML, URL submissions to Bing from IndexNow or Rank Math SEO plugins fail, displaying an “Invalid URL” error.

Workaround

Please, make sure of having a full site backup of your site before proceeding.

For IndexNow:

  • Open your theme’s functions.php file.
  • Add the following snippet:
    function bing_wpml_remove_homefilter() {
    	if ( defined( 'REST_REQUEST' ) && REST_REQUEST && isset( $_SERVER['REQUEST_URI'] ) ) {
    		$request_uri = $_SERVER['REQUEST_URI'];
    		if ( strpos( $request_uri, 'submitUrl' ) !== false ||
    		     strpos( $request_uri, 'allSubmissions' ) !== false ) {
    			global $wp_filter;
    			if ( isset( $wp_filter['home_url']->callbacks[-10] ) ) {
    				foreach ( $wp_filter['home_url']->callbacks[-10] as $key => $value ) {
    					if ( str_contains( $key, 'home_url_filter' ) ) {
    						remove_filter( 'home_url', $key, -10 );
    					}
    				}
    			}
    		}
    	}
    }
    
    add_action( 'rest_api_init', 'bing_wpml_remove_homefilter' );
    

For Rank Math SEO:

  • Open your theme’s functions.php file.
  • Replace:
    function custom_remove_home_url_filter_on_cmb2_admin_init_for_rm_giapi() {
    	if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'rm_giapi' ) {
    		global $wp_filter;
    
    	if ( isset( $wp_filter['home_url']->callbacks[-10] ) ) {
    			foreach ( $wp_filter['home_url']->callbacks[-10] as $key => $value ) {
    					if ( str_contains( $key, 'home_url_filter' ) ) {
    					remove_filter( 'home_url', $key, -10 );
    				}
    			}
    		}
    	}
    }
    add_action( 'cmb2_admin_init', 'custom_remove_home_url_filter_on_cmb2_admin_init_for_rm_giapi' );
    

ทิ้งคำตอบไว้

โปรดอยู่ในหัวข้อและเคารพผู้อื่น หากคุณต้องการความช่วยเหลือเกี่ยวกับปัญหาที่ไม่เกี่ยวข้องกับโพสต์นี้ โปรดใช้ฟอรัมสนับสนุนของเราเพื่อเริ่มการสนทนาหรือส่งตั๋ว.

คุณสามารถใช้แท็กเหล่านี้:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>