使用该SQL查询的一个缺点是,只有在真正编辑帖子时才会更新slug。此外,当任何插件试图用空的slug执行某些操作时,它可能会导致奇怪的行为。
一个好的替代方法是使用WP-CLI。
首先,您需要所有待处理帖子的列表:
wp post list --post_type=post --post_status=pending --format=ids
接下来,您需要一种方法来移除帖子的slug:
wp post update <id> --post_name=""
现在你可以
combine these commands 像这样:
wp post update $(wp post list --post_type=post --post_status=pending --format=ids) --post_name=""
这样,后期更新将通过WordPress的内部API进行,而不仅仅是SQL。