2014-03-19 51 views
0

我鉤住下面的代碼獲取當前網頁的網址...WordPress的最新的帖子不能搶當前URL

   <?php 
       function curPageURL() { 
       $pageURL = 'http'; 
       if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
       $pageURL .= "://"; 
       if ($_SERVER["SERVER_PORT"] != "80") { 
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
       } else { 
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
       } 
       return $pageURL; 
       } 
      ?> 

這樣我就可以把當前頁面的URL到一個網站就像按鈕我的模板...

 <div class="fb-like" data-href="<?php echo curPageURL(); ?>" data-layout="button" data-action="like" data-show-faces="true" data-share="true"></div> 

這工作正常我的Wordpress網站的所有頁面,但我在我的最新帖子頁面上出現錯誤。我不能讓多個帖子沒有得到這個錯誤...

致命錯誤:無法重新聲明curpageurl()(先前在/home4/whimint/public_html/whetink.co/wp-content/themes/kingdom中聲明/content.php:81)在線90上的/home4/whimint/public_html/whetink.co/wp-content/themes/kingdom/content.php

有什麼想法?如果您需要更多的細節,請告訴我,我是Stack Overflow的新手。提前致謝!

回答

0

Fatal error: Cannot redeclare curpageurl() (previously declared in /home4/whimint/public_html/whetink.co/wp-content/themes/kingdom/content.php:81) in /home4/whimint/public_html/whetink.co/wp-content/themes/kingdom/content.php on line 90

這個錯誤說,你的函數在你的文件(content.php)中是兩次。一行81行,一行90行。

你的代碼在駱駝情況下顯示函數,小寫錯誤。 php函數不區分大小寫。 您是否嘗試使用相同(不區分大小寫)名稱的多個函數?

+0

這只是在我的content.php一次。當我在我的WordPress博客上只有一篇文章時,它可以正常工作,但是當我有2篇或更多文章時,我會收到此錯誤。它似乎是每個帖子的重複 –

0

將函數移動到functions.php文件,以便只聲明一次。您也可以將其包裹在此以防止它被聲明兩次。

if(!function_exists("curPageURL")){ 
function curPageURL() { 
    $pageURL = 'http'; 
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
     $pageURL .= "://"; 
    if ($_SERVER["SERVER_PORT"] != "80") { 
     $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
    } else { 
     $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
    } 
    return $pageURL; 
} 
}