我已经把头发拉了两个星期了,任何帮助都会非常感激。
我正在使用WP多站点3.2。
在网站前端,我有一个工具,它使用wp_insert_term为任何一个多站点博客添加一个新类别(我使用switch_to_blog()以防万一)。
然后我调用wp_set_object_terms()将帖子添加到创建的新类别中。
这两项工作都很好,新类别已创建,帖子也会切换到该类别。
问题:
新类别中帖子的永久链接会引发404错误。 该帖子未添加到新类别的帖子计数中。
这两个问题都可以通过以下方式解决:
A)转到wp-admin - >设置 - >永久链接并保存固定链接 B)转到wp-admin - >帖子 - >类别 - >并添加任何其他类别
上述两种解决方案对我不起作用,因为每次用户使用我们构建的工具时都无法手动执行此操作。
我们尝试了什么:
function flush_permalinks() {
global $wp_rewrite;
$wp_rewrite->set_permalink_structure('/%postname%/');
}
add_action('init', 'flush_permalinks');
//这不解决它
我们也尝试过:
function flush_permalinks() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('init', 'flush_permalinks');
//这不解决它
我们尝试过:
add_action( 'init', 'create_initial_taxonomies', 0 );
//这不能解决它。
提前感谢您提供任何帮助或指出我们正确的解决方案!
答案 0 :(得分:1)
您是否尝试了template_redirect
操作而不是init
我知道它在init
之前运行。
function flush_permalinks() {
global $wp_rewrite;
$wp_rewrite->set_permalink_structure('/%postname%/');
}
add_action('template_redirect', 'flush_permalinks');
希望有所帮助,
尼克
答案 1 :(得分:0)