是否可以重建wp_Term_Relationship表?

时间:2012-11-15 作者:user1491929

愚蠢的是,我没有考虑术语关系就截断了posts表。现在我有一堆404,因为有断绝的长期关系。是否可以使用正确的对重建表?

2 个回复
最合适的回答,由SO网友:totels 整理而成

如果您的AUTO_INCREMENT 值未重置,您的新帖子仍将具有唯一性IDs,您可以执行以下操作:

SELECT tr.*, p.ID
FROM wp_term_relationships AS tr
    LEFT JOIN wp_posts AS p ON tr.object_id = p.ID
WHERE p.ID is NULL;
要查看哪些术语关系是孤立的,请使用DELETE FROM 来修复它。

SO网友:user1491929

warning: 截断wp\\u term\\u关系将删除该表中的所有内容!如果只想删除标记术语关系,请确保使用正确的sql。

截断wp\\u term\\u relationships表后,我使用自定义脚本重新标记我的帖子。您可以执行类似的操作:

$numposts = wp_count_posts();
$posts = get_posts(array(\'numberposts\'=>(int)$numposts->publish));
foreach($posts as $post){
    $tags = myCustomTaggingFunc($post); //this returns an array of tags
    wp_update_term($post->ID,$tags);
}
非常简单。

结束

相关推荐

Clean-up script tags

我想收拾一下<script> WordPress生成的标签为HTML5生成更多语义输出。您已经可以为<style> 将使用此代码的标记附加到style_loader_tag 过滤器://clean up the default WordPress style tags add_filter(\'style_loader_tag\', \'clean_style_tag\'); function clean_style_tag($input) {