WPML
状态
未解决
报告针对
WPML Multilingual CMS 4.6.13
相关插件/主题
Rank Math SEO
主题标签
Compatibility

问题概述

当在 WPML 中启用为默认语言使用目录选项时,从 IndexNowRank Math SEO 插件向 Bing 提交 URL 会失败,并显示“无效 URL”错误。

临时解决方法

在继续操作之前,请确保已对您的站点进行完整站点备份

对于 IndexNow:


  • 打开主题的 functions.php 文件。

  • 添加以下代码片段:
    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' );

对于 Rank Math SEO:


  • 打开主题的 functions.php 文件。

  • 替换:
    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' );

所有已知问题 →