2 回答

TA貢獻1851條經驗 獲得超3個贊
正如WordPress 代碼參考所述。
請注意,短代碼調用的函數不應產生任何類型的輸出。短代碼函數應返回用于替換短代碼的文本。直接產生輸出會導致意想不到的結果。這類似于過濾器函數的行為方式,因為它們不應該從調用中產生預期的副作用,因為您無法控制調用它們的時間和地點。
所以先把它從 echo 改為 one return。您可以定義一個變量,連接到它并最終返回它。
結果:
function acf_esg_tax_field_loc( $atts, $content = null ) {
$a = shortcode_atts(array('post_id' => "1"), $atts);
$term = get_field( "field_56cb3d84cf32a", $a['post_id'] );
$sR = '<div class="OutputClass" >';
$sR .= $term->name;
$sR .= '</div>';
return $sR;
}
add_shortcode( 'acfesgtax_loc', 'acf_esg_tax_field_loc' );

TA貢獻1865條經驗 獲得超7個贊
如果類始終相同,因此可以進行硬編碼,那么您就非常接近了。只會輸出一個回聲,所以將它連接起來:
echo '<div class="OutputClass" >'.$term->name.'</div>';
如果它是動態的,并且您需要在某處獲取類名并將其傳遞,那么情況就完全不同了。
- 2 回答
- 0 關注
- 190 瀏覽
添加回答
舉報