2014-09-27 2 views
3

아마존에서 ASIN 번호를 입력하고 템플릿 파일에있는 단축 코드를 통과 시키려면 Wordpress에서 사용자 정의 필드를 설정하고 있습니다. ASIN과 가치 :PHP 변수를 Wordpress 단축 코드에 어떻게 삽입합니까?

여기

내가 템플릿 파일에 현재 가지고있는 것입니다 (나는에 넣어 원하는 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")]');?> 

나는 내 사용자 정의 필드에

나는 이름을 사용하고 있습니다 어떤 아이디어를

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

을하지만이 작동하지 않습니다 :이 같은 scrapeazon에 내가 가지고 단축 코드, 뭔가를 변수 $ ASIN을 넣어 위해 노력하고 있어요?

답변

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'); 

템플릿에서 사용자 지정 값을 가져 오려고하지 마십시오. shortcode 함수에서 처리하십시오. 전역 선언 된 $ post 변수를 통해 작동해야합니다. 예, 전 세계적으로 매우 깨끗하지는 않습니다. 하지만 그것은 wordpress ...

+0

'그러나 그것은 wordpress ...'+1입니다. – myol

관련 문제