• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Добавить поле к товару с tinymce

Roman52

Новичок
Приветвую!
Есть необходимость добавить свои поля к товару. Как добавить поля разобрался.
PHP:
//new field
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );

function woo_add_custom_general_fields() {
    woocommerce_wp_textarea_input(
        array(
            'id'          => '_textarea',
            'label'       => __( 'Документация', 'woocommerce' ),
            'placeholder' => '',
            'description' => __( '', 'woocommerce' )
        )
    );
}

//save new fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );

function woo_add_custom_general_fields_save( $post_id ){
    $woocommerce_textarea = $_POST['_textarea'];
    if( !empty( $woocommerce_textarea ) )
        update_post_meta( $post_id, '_textarea', esc_html( $woocommerce_textarea ) );
}

Но вот есть ли возможность добавить поле с редактором tinymce? Не могу найти нигде информации по этому поводу.
Подскажите кто чем может :) ... Ну или направьте куда копать, возможно есть какие то другие способы решения.
 

qwer

Специалист
Местный
Добрый день.
Удалось добавить редактор к полю?

Добрый день.
Попробуйте плагин AFC для вывода произвольных полей, там намного удобнее и проще всё настраивать.
Сайт AFC
Документация на аглийском
Плагин в репозитории WP
ACF документация на русском
Бесплатный функционал достаточно широкий. Настраивать удобнее и проще чем произвольные поля WP.
Если разберетесь, в дальнейшем будет незаменимым помощником во время реализации других проектов. Рекомендую.

Если по теме, можно создавать разные произвольные поля, в особенности, со встроенным редактором. Для наглядности скрин: upload_2017-10-25_14-57-39.png
 
Последнее редактирование:
  • Like
Реакции: ADv

Roman52

Новичок
Добрый день.
Удалось добавить редактор к полю?
Добрый день!
Нет не удалось, давненько это было уже подзабыл, но помоему решил проблему установкой плагина Custom Product Tabs for WooCommerce.
Тогда мне нужно было что то добавить во вкладки помоему.
 

lik2006

Новичок
Изначально мне надо была вывести 3 таба в карточке товара и что бы в них можно было писать все что угодно вставлять картинки или еще что то кастомное....
Решение пришло методом проб и ошибок.
нашел такую функцию
// Метабокс начало1
add_action( 'add_meta_boxes', 'adding_new_metaabox1' );

function adding_new_metaabox1(){
add_meta_box('html_myid_61_section', 'Таб1',

'my_output_function1');
}

function my_output_function1( $post ) {
//so, dont ned to use esc_attr in front of get_post_meta
$valueeee1= get_post_meta($_GET['post'], 'SMTH_METANAME_VALUE1' , true

) ;
wp_editor( htmlspecialchars_decode($valueeee1), 'mettaabox_ID_stylee1',

$settings = array('textarea_name'=>'MyInputNAME1') );
}


function save_my_postdata1( $post_id ){
if (!empty($_POST['MyInputNAME1'])){
$datta=htmlspecialchars($_POST['MyInputNAME1']);
update_post_meta($post_id, 'SMTH_METANAME_VALUE1', $datta );
}
}

add_action( 'save_post', 'save_my_postdata1' );

// Метабокс конец1

Сделал 3 метабокса с разными id

ну а потом вывел в карточке

add_action( 'woocommerce_single_product_summary', 'art_get_text_field_before_add_card', 70 );
function art_get_text_field_before_add_card() {
global $post, $product;

$tab1 = get_post_meta( $post->ID, 'SMTH_METANAME_VALUE1', true );
$tab2 = get_post_meta( $post->ID, 'SMTH_METANAME_VALUE2', true );
$tab3 = get_post_meta( $post->ID, 'SMTH_METANAME_VALUE3', true );

?><div>
<input type="radio" id="btn-1" name="toggle" checked>
<input type="radio" id="btn-2" name="toggle">
<input type="radio" id="btn-3" name="toggle">

<div class="slider-controls">
<label for="btn-1">Доставка</label>
<label for="btn-2">Гарантия</label>
<label for="btn-3">Кредит</label>
</div>

<div class="slider">

<?php echo '<div class="slide" id="slide1">'.htmlspecialchars_decode($tab1).'</div>'; ?>

<?php echo '<div class="slide" id="slide2">'.htmlspecialchars_decode($tab2).'</div>'; ?>

<?php echo '<div class="slide" id="slide3">'.htmlspecialchars_decode($tab3).'</div>'; ?>
</div>
</div>

<?php

}
и потом через css зашаманил табы
рекомендую к прочтению http://wpruse.ru/woocommerce/woocommerce-dobavlenie-proizvolnyh-polej-v-tovarah/

можно и через поле textarea выводить, но там проблема с тэгами.....
 
  • Like
Реакции: qwer
Сверху Снизу