ElseIf Custom Field不同的值(Wordpress)

时间:2011-08-20 12:34:41

标签: wordpress field

(对不起我的英文),我希望解释一下!

我正在寻找一种解决方案来显示自定义字段的不同输出,名为“cw”。我在自定义文件中使用的主题很多,所以我创建了一个简化调用的函数:

/**
* 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;
}

说这个,我在我的主题中创建了自定义文件:

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

由于自定义值是URL,请键入:http://127.0.0.1:4001/?f=cadbe2676d5108523f931a68eedb3582,我只需要提取ID。使用这种技术PHP Regex to get youtube video ID?,我以这种方式修改了我的自定义文件:

<?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; } ?>

通过这种方式,一切都很完美。

现在,自定义值可以是下面列出的值:

<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>

**最后问题是:如何根据自定义值使用elseif?

任何帮助表示赞赏:)**

1 个答案:

答案 0 :(得分:0)

所以你需要的是从上面定义了3种结构之一的网址中提取“视频ID”部分。如果我理解你,你可以使用下一个代码:

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

$customvalue是使用my_getcustomfield从您的自定义字段中提取的值。