我已经设置了自定义模板和functions.php
,以便哪些用户可以插入图片网址。该图像将显示在标题中。
在自定义模板中,我使用add_action
将图像放入标题中。我的问题是,虽然我可以直接在自定义模板中提供一个URL,并显示此图像,但是作为变量插入的相同url不起作用。
因此,我的自定义模板中的以下摘录有效(其中$ featimage设置为图像的url)
$page_id = $wp_query->get_queried_object_id();
$memoptions = get_post_meta($post->ID,'_my_meta',TRUE);
function img(){
$featimage="http://etc.jpg";
return $featimage;
}
function memberland_featured_image() {
$catchkathmandu_featured_image = '<div id="header-featured-image">';
$catchkathmandu_featured_image .= '<img id="main-feat-img" class="wp-post-image" alt="" src="'.img().'" />';
$catchkathmandu_featured_image .= '</div><!-- #header-featured-image -->';
echo $catchkathmandu_featured_image;
}
add_action( 'catchkathmandu_after_hgroup_wrap', 'memberland_featured_image', 10 );
get_header();
但是这里$featimgage
设置为元数据中的变量,它不起作用。
$page_id = $wp_query->get_queried_object_id();
$memoptions = get_post_meta($post->ID,'_my_meta',TRUE);
function img(){
$featimage=$memoptions['memberland_ftd_hder_image'];
return $featimage;
}
function memberland_featured_image() {
$catchkathmandu_featured_image = '<div id="header-featured-image">';
$catchkathmandu_featured_image .= '<img id="main-feat-img" class="wp-post-image" alt="" src="'.img().'" />';
$catchkathmandu_featured_image .= '</div><!-- #header-featured-image -->';
echo $catchkathmandu_featured_image;
}
add_action( 'catchkathmandu_after_hgroup_wrap', 'memberland_featured_image', 10 );
get_header();
P.S。我在this post中使用函数img()就像没有它一样,将$ featimage直接插入src,即使预先定义为url,也不起作用。
我知道元变量中的变量选项正在作为图像等工作,我希望在标题下显示所有函数。
这与wordpress功能的顺序有关吗?谢谢!
答案 0 :(得分:0)
img()函数不知道$ memoptions变量,因为变量是在img()函数范围之外定义的。
您可以在img()函数中定义$ memoptions,如下所示:
function img(){
$memoptions = get_post_meta($post->ID,'_my_meta',TRUE);
$featimage=$memoptions['memberland_ftd_hder_image'];
return $featimage;
}