我使用MySQL查询从桌面程序导入自定义术语。但所有的条款都把我带到了404页。我多次尝试刷新重写,但都没有用。只有当我在https://[我的网站]/wp admin/term上保存单个术语时,它才有帮助。php?分类法=门店类别;tag\\u ID=[内部ID]
我像这样创建自定义分类法
$labels = some labels
$args = array(
\'labels\' => $labels,
\'hierarchical\' => true,
\'public\' => true,
\'show_ui\' => true,
\'show_admin_column\' => true,
\'show_in_nav_menus\' => true,
\'show_tagcloud\' => false,
\'rewrite\' => true
);
register_taxonomy( \'store-category\', array( \'tdlrm_store_item\' ), $args );
然后我将我的术语插入我的数据库:
//repeated for each term
//insert term into wp_terms
$wpdb->insert($wpdb->prefix.\'terms\', array(
\'name\' => $import_group[\'name\'],
\'slug\' => $import_group[\'slug\']
));
//get the inserted term id
$term_id = $wpdb->insert_id;
//insert the term\'s id from my program
$wpdb->insert($wpdb->prefix.\'termmeta\',array(
\'term_id\' => $term_id,
\'meta_key\' => \'import_id\',
\'meta_value\' => $import_group[\'id\']
));
//connect to taxonomy: store-category
$wpdb->insert($wpdb->prefix.\'term_taxonomy\',array(
\'term_taxonomy_id\' => $term_id,
\'term_id\' => $term_id,
\'taxonomy\' => \'store-category\',
\'parent\' => 0 //I have another function that inserts child items
));
就是这样。我有一个学期
wp_terms
, 它与
wp_term_taxonomy
.
然后,每个产品都有其$import\\u组[\'id\',我只在中的meta\\u值中查找它wp_termmeta
并在中插入返回的term\\u id作为term\\u taxonomy\\u idwp_terms_relationships
.
看起来我已经涵盖了所有内容,但当我转到[网站根目录]/商店类别/[术语段塞]/,它会将我带到404页。我做错了什么?是否有其他地方需要插入术语相关数据?wp\\U选项?
刷新重写规则没有帮助(已尝试多次)。此外,每个条款下显示的帖子数量为0(错误),可能这是相关的。此外,当我转到一个术语的wp管理页面并保存它时,这就解决了这个术语的404问题。但我不能手动操作,术语太多了。
我读过this, this 和类似的问题,但所有的答案似乎都是“尝试再次刷新重写”的变体,我做到了。
哦,我刚刚注意到了。个人帖子也是如此:404,直到我刷新他们的任期。
我也尝试从wp\\u选项中的rewrite\\u规则中删除数据,没有用。
我更改了“重写”=>;true至“重写”=>;错误,我现在没有404页,但仍然不知道如何在打开“重写”的情况下修复该问题。
所有不相关的插件都被停用