< script src = " https: / / cdn.bootcss.com / jquery / 1.12.4 / jquery.min.js " ></script>
< script src = " <? php bloginfo ('template_directory');? > / images / jquery.imom.min.js » ></script>
. box {width: 388px;}
. box img {vertical-align: top; border:0;}
. tb-pic a {display: table-cell; text-align: center; vertical-align: middle;}
. tb-pic a img {vertical-align: middle;}
. tb-pic a {* display: block; * font-family: Arial; * line-height:1;}
. tb-thumb {margin: 10px 0 0; overflow: hidden;}
. tb-thumb li {background: no repeat scroll 0 0 transparent; float: left; height: 42px; margin: 0 6px 0 0; overflow: hidden; padding: 1px;}
. tb-s310,. tb-s310 a {высота: 310px; ширина: 380px;}
. tb-s310 {max-height: 310px;max-width: 380px;}
. tb-s310 img {max-height: 306px; max-width: 376px;}
. tb-s310 a {* font-size: 271px;}
. tb-s40 a {* font-size: 35px;}
. tb-s40 img {width: 40px; height: 40px;}
. tb-s40,. tb-s40 a {высота: 40px; ширина: 40px;}
. tb-booth {border: 1px solid # CDCDCDCD; position: relative; z-index:9;}
. tb-thumb. tb-selected {background: none repeat scroll 0 0 # C30008; height: 44px; padding: 2px;}
. tb-thumb. tb-selected div {background-color: # FFFFFFF; border: medium none;}
. tb-thumb li div {border: 1px solid # CDCDCD;}
div.zoomDiv {z-index: 999; position: absolute; top: 0px; слева: 0px; width: 200px; height: 200px; background: # ffffff; border: 1px solid # CCCCC; display: none; text-align: center; overflow: hidden;}
div.zoomMask {position: absolute; background: url ("images / mask.png") repeat scroll 0 0 transparent; cursor: move; z-index:1;}
/ / Настройка экземпляров класса панели
/** * * * * * title * * * * * /
$options = array();
$boxinfo = array('title' = > 'заполнение параметров', 'id' = > 'ashubox', 'page' = > array ('post'), 'context' = > 'normal', 'priority' = > 'low', 'callback' = > "); $options[] = array("name" = > "загрузка миниатюры продукта",
«type» = > «title»); $options[] = array(
"name " = >" Thumbnail1 ",
«desc» = > "",
"id " = >" ashu_upimg01 ",
«std» = > "",
"button_label " = > ' Загрузить изображение',
"type" = > "media"
);
$options[] = array (
"name " = >" thumbnail2 ",
«desc» = > "",
"id " = >" ashu_upimg02 ",
«std» = > "",
"button_label " = > ' Загрузить изображение',
"type" = > "media"
);
$options[] = array (
"name " = >" thumbnail 3 ",
«desc» = > "",
"id " = >" ashu_upimg03 ",
«std» = > "",
"button_label " = > ' Загрузить изображение',
"type" = > "media"
);
$options[] = array (
"name " = >" Thumbnail 4 ",
«desc» = > "",
"id " = >" ashu_upimg04 ",
«std» = > "",
"button_label " = > ' Загрузить изображение',
"type" = > "media"
);
$options[] = array (
"name " = >" Thumbnail 5 ",
«desc» = > "",
"id " = >" ashu_upimg05 ",
«std» = > "",
"button_label " = > ' Загрузить изображение',
"type" = > "media"
);
$new_box = new ashu_meta_box ($options, $boxinfo);
?>
< div class = "box " >
< div class = " tb-booth tb-pic tb-s310′′ >
<? php if (get_post_meta ($post-> ID, ' ashu_upimg01', true)) {? >
< a href = " <? php echo get_post_meta ($post-> ID, " ashu_upimg01′′, true);? > " >< img src = » <? php echo get_post_meta ($post-> ID, " ashu_upimg01′′, true);? > " rel = " <? php echo get_post_meta ($post-> ID, " ashu_upimg01′′, true);? > " class = "jqzoom " / ></a>
<? php}? >
</div>
< ul class = " tb-thumb " id = " thumblist " >
<? php if (get_post_meta ($post-> ID, ' ashu_upimg01', true)) {? >
< li class = " tb-selected " > < div class = " tb-pic tb-s40′′ > < a href = " javascript: void (0); " > < img src = " <? php echo get_post_meta ($post-> ID, " ashu_upimg01′′, true);? > " mid = " <? php echo get_post_meta ($post-> ID, " ashu_upimg01′′, true);? > " big = " <? php echo get_post_meta ($post-> ID, " ashu_upimg01′′, true);? > " ></a></div></li>
<? php }else{? > < li class = " tb-selected " > < div class = " tb-pic tb-s40′′ ></div></li> <? php}? >
<? php if (get_post_meta ($post-> ID, ' ashu_upimg02', true)) {? >
<li>< div class = " tb-pic tb-s40′′ > < a href = " javascript: void (0); " > < img src = " <? php echo get_post_meta ($post-> ID, " ashu_upimg02 ′′, true);? > " mid = " <? php echo get_post_meta ($post-> ID, " ashu_upimg02 ′′, true);? > " big = " <? php echo get_post_meta ($post-> ID, " ashu_upimg02′′, true);? > " > </a></div></li>
<? php }else{? > <li>< div class = " tb-pic tb-s40′′ ></div></li> <? php}? >
<? php if (get_post_meta ($post-> ID, ' ashu_upimg03', true)) {? >
<li>< div class = " tb-pic tb-s40′′ > < a href = " javascript: void (0); " > < img src = " <? php echo get_post_meta ($post-> ID, " ashu_upimg03′′, true);? > " mid = " <? php echo get_post_meta ($post-> ID, " ashu_upimg03′′, true);? > " big = " <? php echo get_post_meta ($post-> ID, " ashu_upimg03′′, true);? > " > </a></div></li>
<? php }else{? > <li>< div class = " tb-pic tb-s40′′ ></div></li> <? php}? >
<? php if (get_post_meta ($post-> ID, ' ashu_upimg04', true)) {? >
<li>< div class = " tb-pic tb-s40′′ > < a href = " javascript: void (0); " > < img src = " <? php echo get_post_meta ($post-> ID, " ashu_upimg04′′, true);? > " mid = " <? php echo get_post_meta ($post-> ID, " ashu_upimg04′′, true);? > " big = " <? php echo get_post_meta ($post-> ID, " ashu_upimg04′′, true);? > " > </a></div></li>
<? php}? >
<? php if (get_post_meta ($post- > ID, ' ashu_upimg05', true)) {? >
<li>< div class = " tb-pic tb-s40′′ > < a href = " javascript: void (0); " > < img src = " <? php echo get_post_meta ($post-> ID, " ashu_upimg05′′, true);? > " mid = " <? php echo get_post_meta ($post-> ID, " ashu_upimg05′′, true);? > " big = " <? php echo get_post_meta ($post-> ID, " ashu_upimg05 ′′, true);? > " > </a></div></li>
<? php}? >
</ul>
</div>
metaboxclass.php:
- <? php
- /*
- Wordpress Статьи Пользовательские поля Файлы классов
- Версия: 1.0
- Автор: Дерево - мой друг
- Автор URI: www.example.com
- Лицензия: www.example.com
- */
- Класс ashu_meta_box {
- Var $options;
- Var $boxinfo;
- / / Конструктор
- Функция ashu_meta_box ($options,$boxinfo){
- $это- > опции = $options;
- $это- > boxinfo = $boxinfo;
- add_action ('admin_menu', массив(&$это, ' init_boxes ');
- add_action ('save_post', массив(&$это, 'save_postdata');
- }
- / / Иниализация
- Функция init_boxes () {
- $это- > add_script_and_styles();
- $это- > create_meta_box();
- }
- Загрузка CSS и JS сценариев
- Функция add_script_and_styles () {
- IF(базаname( $_SERVER[' PHP_SELF ']) == «page.php»
- || базаname( $_SERVER[' PHP_SELF ']) == «page-new.php»
- || базаname( $_SERVER[' PHP_SELF ']) == «post-new.php»
- || базаname( $_SERVER[' PHP_SELF ']) == «post.php»
- || базаname( $_SERVER[' PHP_SELF ']) == «media-upload.php»)
- {
- / / обратите внимание на URL загруженного сценария
- wp_enqueue_style ('metabox_fields_css', TEMJS_URI. ' metabox_fields.css ');
- wp_enqueue_script ('metabox_fields_js', TEMJS_URI. ' metabox_fields.js ');
- wp_enqueue_style ('thickbox ');
- wp_enqueue_script ('media-upload ');
- wp_enqueue_script ('thickbox ');
- IF(isset)$GET_['hijack_target ']))
- {
- add_action ('admin_head', массив(&$это, 'add_hijack_var');
- }
- }
- }
- /*************************/
- Функция add_hijack_var ()
- {
- эхо «< meta name = ' hijack_target ' content = '».$GET_['hijack_target '].« / >\ n »;
- }
- / / Создание пользовательской панели
- Функция create_meta_box () {
- IF (function_exists ('add_meta_box') & & is_array($это- > boxinfo [ 'страница'])
- {
- forech ($это- > boxinfo [«страница»] as $area)
- {
- IF ($это- > boxinfo['callback'] == ”) $это- > boxinfo ['callback '] = ' new_meta_boxes ';
- add_meta_box (
- $это- > boxinfo[ 'id'],
- $это- > boxinfo ['title'],
- массив(&$это, $это- > boxinfo ['callback ']),
- $area, $это- > boxinfo ['context '],
- $это- > boxinfo ['priority ']
- );
- }
- }
- }
- / / Создание функции отображения для пользовательской панели
- Функция new_meta_boxes () {
- глобальная $post;
- / / Вызов отображающей функции по типу
- forech ($это- > опции as $option)
- {
- IF (method_exists)$это, $option[«тип»]))
- {
- $meta_box_value = get_post_meta ($post- > ID, $option['id'], true);
- IF($meta_box_value != “”) $option['std '] = $meta_box_value;
- эхо «< div Класс=«alt kriesi_meta_box_alt meta_box_'. $ option ['type']. " meta_box_'. $ this-> boxinfo ['context']. '”>’;
- $это->$option[«тип»] ($option);
- эхо ‘’;</div>
- }
- }
- Скрыть домен
- эхо'< type input =«Скрыто» Name =“‘.$ this-> boxinfo['id']. '_ noncename » id =“‘.$ this-> boxinfo['id']. '_ noncename » value =«. wp_create_nonce ('ashumetabox'). '” />’;
- }
- / / Сохранить данные поля
- Функция save_postdata() {
- IF(isset( $_ POST['post_type '] ) & & in_array ($_ POST['post_type '],$это- > boxinfo ['page'] ) & & (isset($_ POST['Save '])|| isset($_ POST['publish ']))) {
- $post_id = $_ POST['post_ID '];
- forech ($это- > опции as $option) {
- IF (! wp_verify_nonce ($_ POST[$это- > boxinfo[ 'id']. '_ noncename '], ' ashumetabox ')) {
- возвращение $post_id ;
- }
- / / Право судить
- IF («Страница» ==) $_ POST['post_type '] ) {
- IF ( ! current_user_can( ' edit_page', $post_id ))
- возвращение $post_id ;
- } другое {
- IF ( ! current_user_can( ' edit_post', $post_id ))
- возвращение $post_id ;
- }
- / / Преобразование предварительно определенных символов в html-теблица
- IF( $option['type '] == ' tinymce ') {
- $Data = stripslashes($_ POST[$option[' id ']]);
- }elseif( $option['type '] == ' checkbox ') {
- $Data = $_ POST[$option['id ']];
- }другое{
- $Data = htmlspecialchars ($_ POST[$option['id '], ENT_QUOTES,«UTF-8»);
- }
- IF(get_post_meta($post_id , $option['id ']) == “”)
- add_post_meta ($post_id , $option['id'], $Data- истинно);
- elseif($Data != get_post_meta ()$post_id , $option['id'], true))
- update_post_meta($post_id , $option['id'], $Data);
- elseif($Data == “”)
- delete_post_meta($post_id , $option[' id '], get_post_meta ($post_id , $option['id', true));
- }
- }
- }
- / / Показать заголовок
- Функция название ($стоимости){
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- }
- / / Текстовое поле
- Функция text ($стоимости){
- IF(isset)$это- > database_options [$стоимости['id ']])) $стоимости['std '] = $это- > database_options [$стоимости['id ']];
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- эхо '< type input =<p>«текст» size =“‘.$ values[ 'size']. '” value =“‘.$ values ['std']. '” id =“‘.$ values[ 'id']. '” Name =“‘.$ values[ 'id']. '”/>’;
- эхо $стоимости[«desc»]. '<br/></p>’;
- эхо ‘<br/>’;
- }
- / / Текстовое поле
- Функция Textarea ($стоимости){
- IF(isset)$это- > database_options [$стоимости['id ']])) $стоимости['std '] = $это- > database_options [$стоимости['id ']];
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- эхо < textarea<p> Класс=«kriesi_textarea» cols =“60” rows =“5” id =“‘.$ values[ 'id']. '” Name =“‘.$ values[ 'id']. '”>’.$стоимости['std ']. '’;</textarea>
- эхо $стоимости[«desc»]. '<br/></p>’;
- эхо ‘<br/>’;
- }
- / / СМИ загрузки
- Функция СМИ ($стоимости){
- IF(isset)$это- > database_options [$стоимости['id ']])) $стоимости['std '] = $это- > database_options [$стоимости['id ']];
- / / Кнопка загрузки изображения
- глобальная $post_ID, $temp_ID;
- $uploading_iframe_ID = (int) (0 ==) $post_ID ? $temp_ID : $post_ID);
- $media_upload_iframe_src = «media-upload.php? post_id = $uploading_iframe_ID »;
- $image_upload_iframe_src = apply_filters ('image_upload_iframe_src', «$media_upload_iframe_src type = image»&);
- $button = ' < a href =“‘.$ image_upload_iframe_src. '& amp; hijack_target = '. $ values[ 'id']. '& amp; TB_iframe = true " id =“‘.$ values[ 'id']. '” Класс=«k_hijack button thickbox» onclick =«Возврат ложного»; > загрузить»;</a>
- / / Определение формата изображения, предварительный просмотр изображения
- $image = ”;
- IF($стоимости['std ']! = ”) {
- $fileextension = substr($стоимости[«std»], strrpos($стоимости[«std»], ‘.’) + 1);
- $extensions = массив('png', ' gif', ' jpeg', ' jpg', ' pdf', ' tif');
- IF(in_array ($fileextension, $extensions))
- {
- $image = ' < img src =“‘.$ values ['std']. '” />’;
- }
- }
- эхо «< div id =“‘.$ values[ 'id']. '_ div » Класс=«kriesi_preview_pic»>’.$image . '’;</div>
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p><p>
- IF($стоимости['desc ']! = “”) эхо ‘’.<p>$стоимости[«desc»]. '<br/>’;
- эхо «< input Класс=«kriesi_preview_pic_input» type =«текст» size =“‘.$ values[ 'size']. '” value =“‘.$ values ['std']. '” Name =“‘.$ values[ 'id']. '”/>’.$button;
- эхо ‘’;</p>
- эхо ‘<br/>’;
- }
- / / флажок
- Функция радио ( $стоимости ){
- IF(isset)$это- > database_options [$стоимости['id ']]))
- $стоимости['std '] = $это- > database_options [$стоимости['id ']];
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- forech( $стоимости[«Кнопки»] as $key=>$value ) {
- $проверено =“”;
- IF($стоимости['std '] == $key) {
- $проверено = ' checked = «Проверено»‘;
- }
- эхо ' < input '.$проверено.’type =«Радио» Класс=«kcheck» value =“‘.$Ключ. '” Name =“‘.$ values[ 'id']. '”/>’.$value;
- }
- }
- / / Флажок
- Функция checkbox ($стоимости){
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- forech( $стоимости[«Кнопки»] as $key=>$value ) {
- $проверено =“”;
- IF( is_array($стоимости[' std ']) & & in_array ($key,$стоимости['std '])) {
- $проверено = ' checked = «Проверено»‘;
- }
- эхо ' < input '.$проверено.’type ="Checkbox" Класс=«kcheck» value =“‘.$Ключ. '” Name =“‘.$ values[ 'id']. '[]”/>’.$value;
- }
- эхо «<label для=“‘.$ values[ 'id']. '”>’.$стоимости[«desc»]. '</label><br/></p>’;
- }
- / / раскрывающееся окно
- Функция dropdown ($стоимости){
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- / / Выберите содержимое, чтобы страницы, категории, меню, боковые панели и пользовательское содержимое
- IF($стоимости['Subtype '] == ' Page ') {
- Select $ = «Выберите страницу»;
- $entries = get_pages ('title_li = & orderby = name ');
- }другое IF($стоимости['subtype '] == ' cat ') {
- Select $ = ' Выберите категорию ';
- $entries = get_categories ('title_li = & orderby = name & hide_empty = 0 ');
- }другое IF($стоимости['subtype'] == 'menu') {
- Select $ = ' Выберите меню в левой странице ';
- $entries = get_terms( 'nav_menu', массив('hide_empty ' = > false));
- }другое IF($стоимости['subtype'] == ' sidebar') {
- глобальная $wp_registered_sidebars;
- Select $ = ' Выберите специальную боковую панель ';
- $entries = $wp_registered_sidebars;
- }другое{
- Select $ = ' Select... ';
- $entries = $стоимости[«подтип»];
- }
- эхо ' < select<p> Класс=«постформы» id =“‘. $values [' id ']. '” Name =“‘. $values [' id ']. '”> ‘;
- эхо ' < значение опции =“”>’.Select $ . '‘;</option>
- forech ($entries as $key => $Entry){
- IF($стоимости['Subtype '] == ' Page ') {
- $id = $Entry- > ID;
- $title = $Entry- > post_title;
- }другое IF($стоимости['subtype '] == ' cat ') {
- $id = $Entry- > term_id;
- $title = $Entry- > имя;
- }другое IF($стоимости['subtype'] == 'menu') {
- $id = $Entry- > term_id;
- $title = $Entry- > имя;
- }другое IF($стоимости['subtype'] == ' sidebar') {
- $id = $Entry['id '];
- $title = $Entry[«имя»];
- }другое{
- $id = $Entry;
- $title = $key;
- }
- IF ($стоимости['std '] == $id ){
- $выбранный = "selected = ' selected ' ";
- }другое{
- $выбранный = “”;
- }
- эхо«< option $selected value = '». $id.“‘>”. $title.“”</option>;
- }
- эхо ‘’;</select>
- эхо $стоимости[«desc»]. '<br/></p>’;
- эхо ‘<br/>’;
- }
- / / Редактора
- Функция tinymce($стоимости){
- IF(isset)$это- > database_options [$стоимости['id ']]))
- $стоимости['std '] = $это- > database_options [$стоимости['id ']];
- эхо ‘’.<p>$стоимости[«Имя»]. '’;</p>
- wp_editor ( $стоимости[«std»], $стоимости['id '];
- / / wp_editor ($values['std'], 'content', array ('dfw' = > true, 'tabfocus_elements' = > 'sample-permalink, post-preview', 'editor_height' = > 360));
- с параметрами конфигурации.
- / * wp_editor ($meta_box['std'], $meta_box['name']. '_ value ', $settings = array (quicktags = > 0, / / отменить режим html
- tinymce = > 1, / / Визуальный режим
- media_buttons = > 0, / / Отменить загрузку медиа
- textarea_rows = > 5, / / Количество строк 5
- editor_class = > " textareastyle ")); * /
- }
- }
- ?>