我有这个非常简单的问题,但我现在正在寻找几个小时,但找不到答案。
用我的函数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()函数中更改echo以返回,但是如果我这样做,这个函数就不再起作用了。
有人可以帮我这个吗?
在这个数组中,我为我的页面存储了一些数据:
$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 :(得分:0)
如果您更改echo以返回,您的函数将“返回”该链接,但它不会显示它。然后你需要在模板中回显,例如:
echo <a href="' . wzd_url(2) . '">test</a>
总结 - 当您需要将echo
从功能移到模板
答案 1 :(得分: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
}
}
答案 2 :(得分:0)
我需要修改wzd_url();
函数,因为它使用bloginfo();
,并且此函数打印字符串。所以我需要get_bloginfo();
或更好:site_url();
// URL
function wzd_url($page) {
global $wzd_pages;
echo siteurl('wpurl' . '/' . $wzd_pages[$page][1] );
}