Я пытаюсь написать небольшой плагин в wordpress, у меня есть небольшой мета-ящик с текстовым вводом и переключатель, в котором пользователь должен добавить информацию, и я хочу, чтобы информация, сохраняется в метатеге сообщения после сохранения (в текущем состоянии входной текст сбрасывается до значения по умолчанию после сохранения).display wordpress post meta в редакторе после сохранения
это соответствующий код:
add_action('add_meta_boxes', 'asset_price');
function asset_price() {
add_meta_box(
'asset_price',
__('asset price', 'myplugin_textdomain'),
'asset_price_box_content',
'asset',
'normal',
'high'
);
}
function asset_price_box_content($post) {
wp_nonce_field(plugin_basename(__FILE__), 'asset_price_box_content_nonce');
echo '<label for="asset_price"></label>
<input type="text" id="asset_price" name="asset_price" placeholder="insert price" />
<input type="radio" name="currency" value="percent" checked="checked">%
<input type="radio" name="currency" value="Dollar">$';
}
add_action('save_post', 'asset_price_box_save');
function asset_price_box_save($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
if (!wp_verify_nonce($_POST['asset_price_box_content_nonce'], plugin_basename(__FILE__)))
return $post_id;
if ('page' == $_POST['post_type']) {
if (!current_user_can('edit_page', $post_id))
return $post_id;
} else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
$old = get_post_meta($post_id, "asset_price", true);
$new = $_POST["asset_price"];
if ($new && $new != $old) {
$product_price = $_POST['asset_price'];
update_post_meta($post_id, 'asset_price', $product_price);
} elseif ('' == $new && $old) {
delete_post_meta($post_id, "asset_price", $old);
}
}
Заранее спасибо
Отлично спасибо! это сделало эту работу, но по какой-то причине она только сохраняет значение поля ввода текста, но не выбор переключателя (он также не будет отображаться, когда я покажу содержимое мета-окна в файле single.php), какую-либо идею? –
, потому что вы только обновляете значение текстового поля, сохраняете значение переключателя так же, как и то, что мы делали для текстового поля. –
Thamls Vidya, я получил эту часть, разработанную к настоящему времени ... –