I added an extra field (dropdown list with select options), when the user creates or edits a category from the WordPress dashboard. I am also able to store the selected value in the wp_termmeta table. However, I need to display the selected value from the dropdown list after page refresh. I am using the functions get_term_meta() and update_post_meta(), however get_term_meta() always returns false and I cannot assign a selected value for any of the options:
function changePostOrder(){
$post_order = get_term_meta($_POST['tag_ID'], 'post-order', true);
var_dump($post_order); // $post_order returns false, while it should return oldest or newest
?>
<tr class="form-field">
<th scope="row" valign="top"><label for="post-order"><?php _e('Post Order'); ?></label></th>
<td>
<select name="post-order" id="post-order">
<option <?php if ($post_order == 'oldest') { ?>selected="true" <?php }; ?>value="oldest">oldest</option>
<option <?php if ($post_order == 'newest') { ?>selected="true" <?php }; ?>value="newest">newest</option>
</select>
</td>
</tr>
<?php
}
add_action ( 'edit_category_form_fields', 'changePostOrder');
As a result, after page refresh the dropdown list is again the same (oldest is selected), even though in the database the meta_value column is "newest". Am i doing something wrong? I am using the same approach as suggested in the second answer here.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745123123a4612532.html
评论列表(0条)