2016-04-24 42 views
0

我目前正在开发一个基于_s的WordPress主题,因为该项目与一般的WordPress项目不同。自定义函数不能在Wordpress中工作

我几天前开始做设计,现在我被困在一个地方几个小时。

我想创建一个功能,以生成视频ID从Youtube链接(自定义字段做'视频'职位类型的工作)。

输出结果如下:a0uGWc170Jc

我使用的代码如下:

$id = get_post_meta($post->ID, 'video_option_youtube-link', true); 
$id = explode('?v=', $id); 
if (empty($id[1])) { 
    $id = explode('/v/', $id); 
} 
$id = explode("&", $id[1]); 
$id = $id[0]; 
echo $id; 

此代码工作得很好,只有当我将其添加WP查询内。我试图做一个函数,并将此函数插入​​到主题的function.php文件中,并尝试在WP_Query中回显,但它返回php错误。我所做的功能是:

function my_videoid() { 
    $id = get_post_meta($post->ID, 'video_option_youtube-link', true); 
    $id = explode('?v=', $id); 
    if (empty($id[1])) { 
     $id = explode('/v/', $id); 
    } 
    $id = explode("&", $id[1]); 
    $id = $id[0]; 
    return $id; 
} 

(也试图呼应,而不是返回)

那么,我究竟做错了什么?

+0

你是从什么样的WordPress钩子调用的,你得到了什么错误? –

+0

我觉得你做错了。首先你必须定义全球$ post的 ;在get_post_meta使之工作之前使用 。 第二,如果你想让它独立,你必须通过post id作为参数,并且必须在函数的get_post_meta中使用该id。 – uzma

回答

0

我想你已经错过了全球$ post,$ wpdb;

请试试看。

相关问题