2014-01-12 138 views
0

我有這個非常簡單的問題,但我現在正在搜索幾個小時,並且找不到答案。在PHP中回聲或返回函數

與我的函數wzd_url()我讓我的網址。

例如wzd_url(2)給我:http://www.mywebsite.com/douchedeur-glassoort

我在整個項目中使用該功能,並能正常工作。但是,知道我要如下使用此功能:

echo = '<a href="' . wzd_url(2) . '">test</a>'; 

或:

function output() { 
$output = '<a href="' . wzd_url(2) . '">test</a>'; 
echo $output; 

} 

output(); 

它輸出:http://www.mywebsite.com/douchedeur-maten測試

和我讀到這個問題的一些其他物品,他們說我需要改變回聲在我的wzd_url()函數返回,但如果我這樣做,這個功能不再工作。

有人可以幫助我嗎?

在這陣我存儲一些數據,我的網頁:

$wzd_pages = array(
    0 => array('Intro', 'douchedeur-intro'), 
    1 => array('Maten', 'douchedeur-maten'), 
    2 => array('Glassoort', 'douchedeur-glassoort'), 
    3 => array('Scharnieren', 'douchedeur-scharnieren', 'Scharnieren en draairichting'), 
    4 => array('Deuropener', 'douchedeur-deuropener'), 
    5 => array('Coating', 'douchedeur-coating'), 
    6 => array('Prijs/Bestellen', 'douchedeur-prijs')); 

有了這個功能,我做我的網址:

// URL 
function wzd_url($page) { 
    global $wzd_pages; 
    echo bloginfo('wpurl') . '/' . $wzd_pages[$page][1]; 
} 
+0

你是什麼意思的「不工作了」?你有任何錯誤或發生了什麼? – MSadura

+0

不,它不再顯示網址。但是現在我知道MarkS的回答了,如果我使用return,我需要回顯函數。 – Robbert

回答

0

我需要修改wzd_url();函數,因爲它使用bloginfo();,並且這個函數打印字符串。所以我需要get_bloginfo();或更好:site_url();

// URL 
function wzd_url($page) { 
    global $wzd_pages; 
    echo siteurl('wpurl' . '/' . $wzd_pages[$page][1]); 
} 
0
如果你改變回聲返回

,你的函數將「迴歸」該鏈接,但它不會顯示它。然後,你在你的模板例如需要回聲:

echo <a href="' . wzd_url(2) . '">test</a> 

概括 - 當你需要從你的函數移動echo到您的模板

+0

好的,謝謝,但是當我回應'test';現在它仍然給出:http://www.mywebsite.nltest – Robbert

+0

當你嘗試'echo wzd_url(2);'時,你會得到任何輸出嗎? – MSadura

+0

是的,它輸出正確的網址。 – Robbert

0

我建議你在下面創建2個功能: -

function wzd_url($page) { 
global $wzd_pages; 
    if(is_array($wzd_pages[$page]) && count($wzd_pages[$page])){ 
     $_return['url'] = bloginfo('wpurl') . '/' . $wzd_pages[$page][1]; 
     $_return['text'] = $wzd_pages[$page][0]; 
     return $_return; 
    }else{ 
     return false; 
    } 
} 

function anchor($page){ 

    if($url = wzd_url($page)){ 
?> 
<a href="<?php echo $url['url'];?>"><?php echo $url['text']?></a> 
<?php 
    } 

}