Wordpress url_to_postid无法使用非默认永久链接

时间:2014-02-09 07:15:11

标签: php wordpress url wordpress-theming

我有一个只有一个页面的基本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

非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

不要使用url_to_postid( $url ),请尝试:

$page = get_page_by_path($slug_of_url);
echo $page->ID ;

;)它总是适合我。