Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Подключаем скрипты в админку через wp_enqueue_script() и wp_enqueue_media() */
- function true_include_myuploadscript() {
- // у вас в админке уже должен быть подключен jQuery, если нет - раскомментируйте следующую строку:
- // wp_enqueue_script('jquery');
- // дальше у нас идут скрипты и стили загрузчика изображений WordPress
- if ( ! did_action( 'wp_enqueue_media' ) ) {
- wp_enqueue_media();
- }
- // само собой - меняем admin.js на название своего файла
- wp_enqueue_script( 'myuploadscript', get_stylesheet_directory_uri() . '/admin.js', array('jquery'), null, false );
- }
- add_action( 'admin_enqueue_scripts', 'true_include_myuploadscript' );
- /* PHP-функция добавления полей в форму */
- function true_image_uploader_field( $name, $value = '', $w = 115, $h = 90) {
- $default = get_stylesheet_directory_uri() . '/img/no-image.png';
- if( $value ) {
- $image_attributes = wp_get_attachment_image_src( $value, array($w, $h) );
- $src = $image_attributes[0];
- } else {
- $src = $default;
- }
- echo '
- <div>
- <img data-src="' . $default . '" src="' . $src . '" width="' . $w . 'px" height="' . $h . 'px" />
- <div>
- <input type="hidden" name="' . $name . '" id="' . $name . '" value="' . $value . '" />
- <button type="submit" class="upload_image_button button">Загрузить</button>
- <button type="submit" class="remove_image_button button">×</button>
- </div>
- </div>
- ';
- }
- /* Использование в метабоксах */
- /*
- * Добавляем метабокс
- */
- function true_meta_boxes_u() {
- add_meta_box('truediv', 'Настройки', 'true_print_box_u', 'post', 'normal', 'high');
- }
- add_action( 'admin_menu', 'true_meta_boxes_u' );
- /*
- * Заполняем метабокс
- */
- function true_print_box_u($post) {
- if( function_exists( 'true_image_uploader_field' ) ) {
- true_image_uploader_field( 'uploader_custom', get_post_meta($post->ID, 'uploader_custom',true) );
- }
- }
- /*
- * Сохраняем данные произвольного поля
- */
- function true_save_box_data_u( $post_id ) {
- if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
- return $post_id;
- update_post_meta( $post_id, 'uploader_custom', $_POST['uploader_custom']);
- return $post_id;
- }
- add_action('save_post', 'true_save_box_data_u');
- /* Использование на странице настроек */
- <?php
- function true_add_options_page_u() {
- if ( isset( $_GET['page'] ) == 'uplsettings' ) {
- if ( 'save' == isset( $_REQUEST['action'] ) ) {
- update_option('uploader_custom', $_REQUEST[ 'uploader_custom' ]);
- header("Location: ". site_url() ."/wp-admin/options-general.php?page=uplsettings&saved=true");
- die;
- }
- }
- add_submenu_page('options-general.php','Дополнительные настройки','Настройки','edit_posts', 'uplsettings', 'true_print_options_u');
- }
- function true_print_options_u() {
- if ( isset( $_REQUEST['saved'] ) ){
- echo '<div class="updated"><p>Сохранено.</p></div>';
- }
- ?><div class="wrap">
- <form method="post">
- <?php
- if( function_exists( 'true_image_uploader_field' ) ) {
- true_image_uploader_field('uploader_custom', get_option('uploader_custom'));
- }
- ?><p class="submit">
- <input name="save" type="submit" class="button-primary" value="Сохранить изменения" />
- <input type="hidden" name="action" value="save" />
- </p>
- </form>
- </div><?php
- }
- add_action('admin_menu', 'true_add_options_page_u');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement