开发者

ElseIf Custom Field different value (Wordpress)

开发者 https://www.devze.com 2023-03-30 00:39 出处:网络
(sorry for my English) and I hope to explain! I\'m looking for a solution to display different output for a custom filed, named \"cw\". The my theme of much use in custom filed, so I created a functi

(sorry for my English) and I hope to explain!

I'm looking for a solution to display different output for a custom filed, named "cw". The my theme of much use in custom filed, so I created a function to simplify your calls:

/**
* Get custom field of the current page
* $type = string|int
*/
function my_getcustomfield($filedname, $page_current_id = NULL)
{
if($page_current_id==NULL)
$page_current_id = get_page_id();
$value = get_post_meta($page_current_id, $filedname, true);
return $value;
}

said this, I created the custom filed in my theme:

<?php $video_code = my_getcustomfield('cw',get_the_ID()); if(!empty($video_code)) : ?>
<div class="video_code"><?php echo $video_code; ?></div>

Since the custom value is a URL, type: http://127.0.0.1:4001/?f=cadbe2676d5108523f931a68eedb3582, I need to extract just the ID. using this technique PHP Regex to get youtube video ID?, I modified my custom filed in this way:

<?php $video_code = my_getcustomfield('cw',get_the_ID()); $url = $video_code; parse_str(parse_url($url, PHP_URL_QUERY )); if(isset($video_code[0])){ ?>  
<div cacaolink="http://127.0.0.1:4001/?f=<?php echo $f; ?>"></div>
<?php } else { ?> 
<?php echo 'Video n.d.'; ?></div>
<?php endif; } ?>

In this way everything works perfectly.

Now, the custom value can be those listed below:

<div cacaolink="http://127.0.0.1:4001/megavideo/megavideo.caml?videoid="></div>
<div cacaolink="http://127.0.0.1:4001/videobb/videobb.caml?videoid="></div>
<div cacaolink="http://127.0.0.1:4001/?f="></div>

**Fin开发者_如何学Goally here is the problem: How can I use an elseif according to the custom value?

any help is appreciated :)**


So what you need in short is extracting "video id" part from urls having one of 3 structures defined above. If I understood you right, you can just use the next code:

    $video_id = preg_replace("/.*\?(videoid|f)=/", '', $customvalue);

Where $customvalue is the value extracted from your custom field with my_getcustomfield.

0

精彩评论

暂无评论...
验证码 换一张
取 消