免责声明:我不能发布超过两个链接,但
我知道有很多类似的问题,但没有一个解决方案适合我。
我的问题是,使用Live Composer插件(wordpress.org/plugins/Live Composer page builder/)时url_to_postid()
函数不会为Live Composer的自定义帖子类型返回帖子id,例如“Partners”、“Project”、“Staff”。默认情况下,名为“Testproject”的项目的永久链接URL的格式为http://localhost/wordpress/?dslc_projects=testproject
. 此问题无法通过解决url_to_postid()
输入有效的帖子ID。
解决方法是将永久链接结构设置为默认的“普通”设置以外的其他设置。然后url_to_postid()
事实上,即使LC的自定义post类型也能正确解析。
但是,我不相信用户会记住此解决方法。见鬼,我甚至都不相信自己。因此,我想知道,是否有办法解决上述URL的类型。
我是WordPress的新手,因此我还没有直接处理数据库,没有实现自定义分类法,也没有提供自定义重写规则。我甚至不知道URL的类型http://localhost/wordpress/?dslc_projects=testproject
调用,但在我看来,它似乎会在数据库中引发一个查询,以匹配dslc_projects
把某事归因于某人testproject
.
我想知道这种类型的URL是否有名称,这样我就可以在谷歌上搜索并了解它。此外,如果有人知道如何使用这些URL获取帖子ID,那就更可怕了。:)
<小时>Edit: 我现在可能在url_to_postid()
. 函数在点击following if-clause :
// Check to see if we are using rewrite rules
$rewrite = $wp_rewrite->wp_rewrite_rules();
// Not using rewrite rules, and \'p=N\' and \'page_id=N\' methods failed, so we\'re out of options
if ( empty($rewrite) )
return 0;
我假设这是一个bug,因为显然可以在自定义post类型URL上重写规则,应该在这里检测到。
报告为票证#38041.