Last active
August 24, 2019 18:03
-
-
Save eto4detak/4b8aadd8083de959cf0f91af5afb693e to your computer and use it in GitHub Desktop.
wp php add_meta_box
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_action('add_meta_boxes', 'divie_desc_down_add_custom_box'); | |
function divie_desc_down_add_custom_box(){ | |
$screens = array( 'product' ); | |
add_meta_box( 'divie_desc_down_sectionid', 'Описание под кнопкой', 'divie_desc_down_meta_box_callback', $screens, 'side', 'low' ); | |
} | |
// HTML код блока 222 | |
function divie_desc_down_meta_box_callback( $post, $meta ){ | |
$screens = $meta['args']; | |
$content = get_post_meta($post->ID, '_divie_desc_product_down',true); | |
// Используем nonce для верификации | |
wp_nonce_field( plugin_basename(__FILE__), 'divie_noncename_product_down' ); | |
// Поля формы для введения данных | |
echo '<label for="divie_desc_product_down">' . __("Описание под кнопкой", 'divie' ) . '</label> '; | |
wp_editor($content, 'divie_desc_product_down', array( | |
'wpautop' => 1, | |
'media_buttons' => 1, | |
'textarea_name' => 'divie_desc_product_down', //нужно указывать! | |
'textarea_rows' => 10, | |
'tabindex' => null, | |
'editor_css' => '', | |
'editor_class' => '', | |
'teeny' => 0, | |
'dfw' => 0, | |
'tinymce' => 1, | |
'quicktags' => 1, | |
'drag_drop_upload' => false | |
) ); | |
// echo '<input type="text" id= "divie_desc_product_down" name="divie_desc_product_down" value="whatever" size="25" />'; | |
} | |
## Сохраняем данные, когда пост сохраняется | |
add_action( 'save_post', 'divie_desc_down_save_postdata' ); | |
function divie_desc_down_save_postdata( $post_id ) { | |
// Убедимся что поле установлено. | |
if ( ! isset( $_POST['divie_desc_product_down'] ) ) | |
return; | |
// проверяем nonce нашей страницы, потому что save_post может быть вызван с другого места. | |
if ( ! wp_verify_nonce( $_POST['divie_noncename_product_down'], plugin_basename(__FILE__) ) ) | |
return; | |
// если это автосохранение ничего не делаем | |
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) | |
return; | |
// проверяем права юзера | |
if( ! current_user_can( 'edit_post', $post_id ) ) | |
return; | |
// Все ОК. Теперь, нужно найти и сохранить данные | |
// Очищаем значение поля input. | |
$my_data = sanitize_text_field( $_POST['divie_desc_product_down'] ); | |
// Обновляем данные в базе данных. | |
update_post_meta( $post_id, '_divie_desc_product_down', $my_data ); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment