2014-12-04 84 views
0

我已经设置了自定义模板和functions.php,以便哪些用户可以插入图像url。该图像将显示在标题中。将变量插入标题

在自定义模板中,我使用add_action将图像放入标题中。我的问题是,虽然我可以直接在自定义模板中提供一个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设置为从metabox这是行不通的变量。

$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,也不起作用。

我知道他们的变量选项metaboxes正在作为图像等,我希望显示标题下的所有功能。

这是否与wordpress函数的顺序有关?谢谢!

回答

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; 
} 
+0

您好感谢dyjau。 不幸的是,这并没有帮助: – lynghonig 2014-12-06 07:49:43