0
我使用的是wordpress php widget,但我無法處理WordPress的短代碼 - PHP只是呈現短代碼而不是處理它。這裏是我做過什麼WordPress的PHP部件
添加過濾器,以我的活動主題function.php文件
add_filter('widget_text', 'shortcode_unautop'); add_filter('widget_text', 'do_shortcode'); // Allow shortcodes in php code widget add_filter('widget_execphp', 'shortcode_unautop'); add_filter('widget_execphp', 'do_shortcode');
添加以下到PHP部件
<?php $id = get_the_ID(); $amazon_product_asin_value = get_post_meta($id, 'amazon_product_asin', true); echo do_shortcode('<div> [amazon asin=' . $amazon_product_asin_value . '&template=buynowamazon_widget&chan=default] </div>'); ?>
我也嘗試過沒有do_shortcode和相同的結果。
2正確輸出的
[amazon asin=B008I20FT8&template=buynowamazon_widget&chan=default]
短碼,如果我只是在標準文本組件
我使用亞馬遜的鏈接插件,它產生的簡碼輸入該工作正常
有任何想法嗎?
不幸的是,這並沒有奏效。相同的結果 - 不處理簡碼。 – Jay
@Jay我有一個類似的問題,我嘗試使用兩個不同的php小部件,並在小部件中放置了do_shortcode()。由於某些原因,單引號和雙引號沒有正確解析。嘗試從函數中刪除引號 – Anagio