将变量插入标题

时间:2014-12-04 11:49:39

标签: wordpress header

我已经设置了自定义模板和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功能的顺序有关吗?谢谢!

1 个答案:

答案 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;
}