2014-02-09 51 views
0

我有一個基本的WordPress主題只有一個頁面,即index.php。我有永久鏈接設置在以下結構中:www.website.com/wp/article-name。Wordpress url_to_postid不能使用非默認永久鏈接

我會澄清,永久鏈接工作和顯示正確的內容,只是腳本下面只是不返回他們的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

你有沒有檢查你的'.htaccess'文件? – 2014-02-09 07:17:57

+0

我應該在.htaccess文件中尋找什麼?我現在將發佈內容。 – Tomn8r

+0

我在本地編輯文件並上傳到活動服務器(與cpanel遠程共享主機)。 – Tomn8r

回答

3

而不是使用url_to_postid($url)使用,請嘗試:

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

;)它總是對我的作品。

+0

這僅適用於默認頁面。檢查文檔以瞭解如何將其用於其他帖子類型:https://codex.wordpress.org/Function_Reference/get_page_by_path – jetlej

相關問題