通过MySQL查询Wordpress中的独特slug

时间:2017-06-12 06:31:47

标签: php mysql wordpress slug

我想要一个MySQL查询来查找和替换wordpress数据库中的关键字。并希望保持slu unique独特。例如:如果wp_terms表中有3个slu :::

  1. testkeyword
  2. testkeyword-2
  3. testslg
  4. 现在我想用slg替换关键字keyword并将更新查询作为

    运行
    update wp_terms set `slug` = replace(slug, 'slg','keyword')
    

    现在第三个slu testslg将成为testkeyword,并且它不会保持唯一,因为第一个slug与第三个slug相同。

    如果一个列已经存在,我如何在slug的末尾添加一个数字? 在这个例子中,我希望第三个slug为testkeyword-3。这怎么可能?

1 个答案:

答案 0 :(得分:0)

在开始时获取新组建的关键字的初始计数。假设您要使用以下语句

替换您的第三个关键字,即testlg和test关键字
$newkeyword = str_replace("slg","keyword","testslg");

现在,使用以下查询获取此新关键字的计数

SELECT count(slug) FROM wp_terms WHERE slug like '%$newkeyword%';

在更新查询中使用此计数

update wp_terms set `slug` = '$newkeyword-$above_query_count_result' WHERE row_unique_id;

注意:这个答案只是逻辑,请在PHP代码中包含所有连接。