【发布时间】:2013-01-16 16:26:37
【问题描述】:
我目前正在为房地产经纪人构建一个对象列表,我们将所有对象缓存在一个名为“objekt”的自定义帖子类型中,并且它具有永久链接重写“objekt”。
我们在服务器的根目录中有一个名为wp-fetch-items.php 的文件,房地产经纪人应用程序会在系统中出现新对象时对其进行 ping。这会导致“objekt”类型的所有帖子被删除,然后它会通过一个 XML 文件并将所有对象再次添加到系统中。
一切运行良好,但帖子在 URL 中一直为 -2,即使这是第一次创建帖子,也没有任何名称与远程相似的内容。
例如,我使用 wp_insert_post 插入名称为 152912 的对象的 post_name 为 152912-2。
我使用以下代码创建对象:
$insertedPost = wp_insert_post(array(
'post_author' => 1,
'post_type' => 'objekt',
'ping_status' => 'closed',
'post_status' => 'publish',
'post_name' => $objectData['title'],
'post_title' => $objectData['title']
), false);
在创建它们之前,我会遍历每个类型为“objekt”的帖子并使用以下代码删除它们:
wp_delete_post(get_the_ID(), true);
我特别添加了 true 作为第二个参数,以从数据库中永久删除该对象,并且我所做的所有搜索都证明它没有任何剩余。
我还尝试使用此代码在删除后刷新永久链接,但对这种情况没有任何帮助:
global $wp_rewrite;
$wp_rewrite->flush_rules();
您是否遇到过这个问题,您知道如何解决吗?如果您知道这可能是什么原因,请回复!
提前致谢, 乔纳森
【问题讨论】:
-
进入您的永久链接设置,看看是否添加了 2。如果是这样,请将其删除。发生在我的几个博客上。
-
此外,我还会检查 .htaccess 文件,以确保没有任何重写规则指示问题。
-
您好,感谢您的回答。我检查了永久链接设置,目前设置为“/%year%/%monthnum%/%day%/%postname%/”。无论我做了什么更改,帖子仍然使用相同的名称。我尝试删除 .htaccess 中的所有规则,但无济于事。
标签: php xml wordpress custom-post-type