【发布时间】:2018-05-02 15:49:34
【问题描述】:
我使用Custom Post Type UI 创建了自定义分类名称“Front List”,然后添加了一个名为“Order”的自定义字段。我正在尝试为订单设置默认值。当我使用前列表面板创建任何前列表时,
它添加了一个默认值,但是当我从“添加帖子”页面创建前列表时,它没有为“订单字段”添加任何默认值。
如何在“添加帖子”页面创建“前列表”时添加默认值?
这是向 Frontlist 分类添加自定义字段的代码。
<?php
/**
* Adding Custom Field to Taxonomy
* @return void
*/
function frontlists_add_order( $term ) {
?>
<div class="form-field">
<label for="taxOrder"><?php _e( 'Order', 'yourtextdomain' ); ?></label>
<input type="text" name="taxOrder" id="taxOrder" value="">
<p>Your front List item will be sorted by this "Order". The default value is "1".</p>
</div>
<?php
}
add_action( 'frontlists_add_form_fields', 'frontlists_add_order', 10, 2 );
/**
* Adding Custom Field to Taxonomy in Edit Panel
* @return void
*/
function frontlists_edit_order( $term ) {
$term_order = get_term_meta( $term->term_id, 'order', true );
?>
<tr class="form-field">
<th><label for="taxOrder"><?php _e( 'Order', 'yourtextdomain' ); ?></label></th>
<td>
<input type="text" name="taxOrder" id="taxOrder" value="<?php echo esc_attr( $term_order ) ? esc_attr( $term_order ) : ''; ?>">
<p>Your front List item will be sorted by this "Order".</p>
</td>
</tr>
<?php
}
add_action( 'frontlists_edit_form_fields', 'frontlists_edit_order', 10 );
/**
* Saving Custom Field to Taxonomy
*/
function frontlists_save_order( $term_id ) {
if ( isset( $_POST['taxOrder'] ) ) {
$term_order = $_POST['taxOrder'];
if( $term_order ) {
update_term_meta( $term_id, 'order', $term_order );
} else {
update_term_meta( $term_id, 'order', 1 );
}
}
}
add_action( 'edited_frontlists', 'frontlists_save_order' );
add_action( 'create_frontlists', 'frontlists_save_order' );
【问题讨论】: