Skip to content

Instantly share code, notes, and snippets.

@eto4detak
Last active August 24, 2019 18:03
Show Gist options
  • Save eto4detak/4b8aadd8083de959cf0f91af5afb693e to your computer and use it in GitHub Desktop.
Save eto4detak/4b8aadd8083de959cf0f91af5afb693e to your computer and use it in GitHub Desktop.
wp php add_meta_box
<?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