Issue
I wrote this couples of functions, that alternate a exploded Custom Field string with the post permalink:
(where the Custom Field should look like this: ex. 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;
}
... which work all right when tested on a MAMP server, but when deployed they return:
"Warning: Missing argument 1"
Any idea why this might be happening?
Solution
Ok... I figured it out... this happens when a class gets instantiated and theres no default argument for the constructor...
here are the working functions...
// 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;
}
in case anyone is in need... what they do:
in case theres a post with the Custom Field 'link' (like so: Google++http://google.com) the function will replace the permalink with the Custom Link. So in the theme call: echo custom_permalink(); ... instead of the_permalink();
the via_text() function works a little different; it calls a span tag with the Custom Field 'link' exploded like so:
<span><a href="http://google.com">Via Google</a></span>
hope this works for somebody else
:)
Answered By - ameraz
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.