2016-04-24 3 views
0

の場合カスタムタイトルをエコーすることができません。ポストタイプのimg添付ファイルを持つ投稿が特定のテンプレートを使用して表示されるように、プラグインのカスタムポストタイプのページテンプレートを使用して割り当てられたページテンプレートがあります。私のheader.phpの中で私は、コードページが

if (is_page_template ('page-book.php')) 
       { $currenturl=$_SERVER['REQUEST_URI']; 
        $booktitle = str_replace("http://mybooks.com/books/", "", $currenturl); 
        $booktitle = str_replace("-", " ", $booktitle); 
        $booktitle = strtoupper($booktitle); 
        echo $booktitle; 
       } 

を持っているが、それは私はそれがカスタムタイトル

答えて

0

あなたのコードだけリターンのこのライン$currenturl = $_SERVER['REQUEST_URI'];URLの一部である文字列。

たとえば、与えられたURL http://mybooks.com/books/title/books/titleを返し、空の文字列で置き換えると、何も置き換えられません。str_replace関数は一致するものを見つけられません。あなたは、URLの末尾の一部を取得するために

、あなたはそれがURLの最後の部分を返します。たとえば

について basename

echo basename($currenturl); 

を使用することができ、それは

titleです。

0

あなたをエコーするのですかどのように

エコータイトルの代わりに、カスタムポストのURLをエコーコードは私のために働くようです。

解決方法1:

$currenturl = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
$booktitle = str_replace("http://mybooks.com/books/", "", $currenturl); 
$booktitle = str_replace("-", " ", $booktitle); 
$booktitle = strtoupper($booktitle); 
echo $booktitle; 

するか、このようなもので、それをデバッグしてみてください。これらのソリューションウィットを試してみてください

解決方法2:

$currenturl = "http://mybooks.com/books/this-is-the-book-title"; 
$booktitle = str_replace("http://mybooks.com/books/", "", $currenturl); 
$booktitle = str_replace("-", " ", $booktitle); 
$booktitle = strtoupper($booktitle); 
echo $booktitle;