(对不起我的英文),我希望解释一下!
我正在寻找一种解决方案来显示自定义字段的不同输出,名为“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?
任何帮助表示赞赏:)**
答案 0 :(得分:0)
所以你需要的是从上面定义了3种结构之一的网址中提取“视频ID”部分。如果我理解你,你可以使用下一个代码:
$video_id = preg_replace("/.*\?(videoid|f)=/", '', $customvalue);
$customvalue
是使用my_getcustomfield
从您的自定义字段中提取的值。