';从最常用的标签中选择';按钮显示';找不到标签';而不是显示最常用的标签


'Choose from the most used tags' button shows 'No tags found' instead of showing the most used tags

在WordPress后端添加或编辑帖子时,我无法为帖子添加(分配)标签。当我点击"从最常用的标签中选择"按钮时,它会显示"未找到标签"。但其他帖子中已经添加了十几个标签。使用文本框添加标记也不起作用。

这个问题是在我更新了WPML插件之后才出现的。在更新插件之前,它工作正常。我在网上搜索了一下,但仍然不知道如何解决这个问题。

我需要更改或配置什么才能使添加标签功能与WPML插件结合使用?

我现在已经解决了这个问题。我使用的WPML插件版本默认情况下似乎有这个问题。

为了解决这个问题,我在WPML插件(我开发的一个插件)之外添加了以下代码。

    // Code to fix 'No tags found' issue in admin backend
add_filter('icl_current_language', 'icl_current_language_preview_hack_filter_func',200);
function icl_current_language_preview_hack_filter_func($lang){
    if(isset($_GET['lang'])){
        $lang = esc_html($_GET['lang']);
    }
    elseif(isset($_COOKIE['_icl_current_admin_language']))
    {
        $lang=$_COOKIE['_icl_current_admin_language'];
    }
    else
    {
        $lang="en";
    }
    return $lang;
}

注意以上代码可以添加到任何插件中。

解释当我们试图向帖子添加标签时,WPML插件会尝试获取当前所选语言的标签。默认情况下,对于每个操作,WPML都将当前语言存储在Cookie中,并在需要时进行检索。但在这种情况下,我不知道为什么WPML从$_GET而不是Cookie获取当前语言,而$_GET什么也不返回。

因此,如果当前语言在$_GET中不可用,我通过使用Cookie获取当前语言来调整代码。

希望这个答案对一些有这个问题的人有帮助。