最近夢飛更新網站升級為WordPress網站程序,并使用了非常知名的B2主題,但這主題要使用還是需要各種調整一下的,比如夢飛之前的原站分類頁都會有服務器的增值服務,機房優惠等等。
所以只有在商品分類中去增加一個名為 增值服務的描述欄位 并讓其在前端商品分類頁中調用出來。
目前效果如下


代碼如下
將以下代碼寫入B2子主題中 functions.php 中,其中代碼中的 advalue 可以自行修改為其他英文字符,
shoptype則是商品分類法的名,如果想在文章或其他分類中添加描述,需要將shoptype改為其他分類法的名。
add_action( 'shoptype_add_form_fields', 'advalue_add_term_fields' );
function advalue_add_term_fields( $taxonomy ) {
echo '<div class="form-field">
<label for="advalue">增值服務</label>
<textarea id="advalue" name="advalue" rows="8"></textarea>
<p>機房增值服務設置項</p>
</div>';
}
add_action( 'shoptype_edit_form_fields', 'advalue_edit_term_fields', 10, 2);
function advalue_edit_term_fields( $term, $taxonomy ) {
$advalue = get_term_meta( $term->term_id, 'advalue', true );
?>
<tr class="form-field">
<th><label for="advalue">增值服務</label></th>
<td>
<textarea id="advalue" name="advalue" rows="8" ><?php echo $advalue ?></textarea>
</td>
</tr>
<?php
}
add_action( 'created_shoptype', 'advalue_save_term_fields' );
add_action( 'edited_shoptype', 'advalue_save_term_fields' );
function advalue_save_term_fields( $term_id ) {
update_term_meta(
$term_id,
'advalue',
sanitize_text_field( $_POST[ 'advalue' ] )
);
}
最后就是輸出了,將B2主題中 /TempParts/Shop/category.php 文件復制到 B2子主題中,將下方代碼寫入合適的位置即可。下方只是輸出語句,要加html代碼或樣式就自由發揮了。
<?php echo get_term_meta( $term->term_id, 'advalue', true );?>