2014-09-27 49 views
3

我在Wordpress中設置了自定義字段,以便能夠從亞馬遜輸入ASIN號碼並讓它通過我在模板文件中的簡碼。如何將一個php變量插入Wordpress簡碼中?

在我的自定義字段我使用名稱:ASIN和值:(無論ASIN#我想提出)

這裏是我目前在模板文件:

<?php $asin = get_post_meta($post->ID, 'asin', true); ?> 

<?php echo $asin ?> 

<?php echo do_shortcode('[scrapeazon asin="B002P4SMHM" width="650" height="400" border="false" country="us")]');?> 

我我試圖把變量$ ASIN到scrapeazon簡碼,我有,像這樣:

<?php echo do_shortcode('[scrapeazon asin="<?php echo $asin ?" width="650" height="400" border="false" country="us")]');?> 

但是,這是行不通的,任何想法?

回答

2

這種方法呢?

function my_shortcode_function($attributes) { 
    global $post; 

    // manage attributes 
    $a = shortcode_atts(array(
     'foo' => 'something', 
     'bar' => 'something else', 
    ), $attributes); 

    // do sth with the custom field 
    $asin = get_post_meta($post->ID, 'asin', true); 
} 

add_shortcode('my_shortcode', 'my_shortcode_function'); 

所以不要嘗試在模板中獲取自定義值。只需在短代碼函數中處理它。通過全局聲明的$ post變量,它應該可以工作。是的,全球並不是很乾淨。但它是wordpress ...

+0

'但它是wordpress ...'+1 – myol 2015-11-12 13:13:25

相關問題