我编写了这对函数,它们将一个爆炸的自定义字段字符串替换为后期固定链接:
(自定义字段应如下所示:例如Google ++ http //:google.com“)
// Custom Permalink
function custom_permalink($url){
global $post;
$link = get_post_meta($post->ID,'link',true);
if ($link) {
$pieces = explode("++", $link);
$url = $pieces[1];
} else {
$url = the_permalink();
}
return $url;
}
// Via Text
function via_text($url){
global $post;
$link = get_post_meta($post->ID,'link',true);
if ($link) {
$pieces = explode("++", $link);
$url = ' <span><a href="'.$pieces[1].'">Via '.$pieces[0].'</a></span>';
} else {
$url = ' ';
}
return $url;
}
...在MAMP服务器上测试时可以正常工作,但在部署时会返回:
“警告:缺少参数1”
知道为什么会这样吗?
答案 0 :(得分:1)
好的......我想通了...... 当一个类被实例化并且没有构造函数的默认参数时会发生这种情况...
这是工作职能......
// Custom Permalink
function custom_permalink($url='') {
global $post;
$link = get_post_meta($post->ID,'link',true);
if ($link) {
$pieces = explode("++", $link);
$url = $pieces[1];
} else {
$url = the_permalink();
}
return $url;
}
// Via Text
function via_text($url='') {
global $post;
$link = get_post_meta($post->ID,'link',true);
if ($link) {
$pieces = explode("++", $link);
$url = ' <span><a href="'.$pieces[1].'">Via '.$pieces[0].'</a></span>';
} else {
$url = ' ';
}
return $url;
}
如果有人需要...... 他们做了什么:
如果是包含自定义字段“链接”的帖子(如此:Google ++ http://google.com),该功能将使用自定义链接替换永久链接。所以在主题调用中:echo custom_permalink(); ...而不是the_permalink();
via_text()函数有点不同;它调用span标签,自定义字段'链接'爆炸如下:
<span><a href="http://google.com">Via Google</a></span>
希望这适用于其他人
:)