我有一个只有一个页面的基本Wordpress主题,即index.php。我在以下结构中设置了永久链接:www.website.com/wp/article-name。
我会澄清,永久链接工作并显示正确的内容,只需下面的脚本就不会返回他们的ID。
下面的代码可以回应当前URL所引用的postID和当前的URL。它适用于默认永久链接,即www.website.com/wp/?p=1,但不适用于我的自定义永久链接,返回0(失败)。有什么想法吗?
<?php
$url = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$postid = url_to_postid( $url );
echo $postid;
echo $url;
?>
我的.htaccess文件目前看起来如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress
非常感谢帮助。
答案 0 :(得分:2)
不要使用url_to_postid( $url )
,请尝试:
$page = get_page_by_path($slug_of_url);
echo $page->ID ;
;)它总是适合我。