Обсуждения

сайт-лотерея

Готовится сайт для розыгрыша. Требуется, чтобы на этом сайте была возможность присвоения участнику номерка, 1 из 10000 и после того как ему присвоился номерок, надо чтобы количество доступных номерков уменьшалось. Есть ли такой плагин или как это реализовать

Настроить обновление теми

Всем привет

Есть несколько сайтов на одной самописной теме. Возник вопрос, как можно проще распостранять новие изменения в теме на все сайти. 

Возможно ли обновлять тему не с wordpress.org, а с собственного ресурса?  И как вообще настроить обновление теми? 

Как изменить содержание произвольной записи после создания

Я создаю произвольную запись при помощи wp_insert_post()
Как мне сразу же после создания изменить его содеожимое?

Дополнительный функционал для WooCommerce

Добрый день!

После безуспешных попыток найти исполнителя прошу помощи у специалистов-программистов, специализирующихся на WP.

Есть тема мульти-вендорная Dokan, на ее базе есть сайт – фотосток для фотографов-любителей. 

Требуется написать для сайта функционал со следующими требованиями:
1.Возможность создания товаров загрузкой изображений в галерею

2.Выбор шаблона товара (Будут созданы несколько шаблонов – разница в ценах. Шаблоны не видны в магазине, не видны в товарах продавца, наверное со статусом “на рассмотрении”)

3.Все товары создаются со статусом «на рассмотрение» администратором. Я буду их потом согласовывать. В Докан по умолчанию так и работает.

4.При создании товаров нужно предусмотреть ввод меток товаров (на каждый товар в отдельном блоке

5.При создании товаров нужно предусмотреть выбор категории

6.При создании товаров автоматически создаются миниатюры заданных размеров для скачивания. Ссылки на миниатюры автоматически прописываются в полях соответствующих вариаций.

7.Как создаются миниатюры: по максимальной ширине (высоте). Например WEB 800 px – бОльшая сторона уменьшается до 800 пикселей. Оригинал это оригинал.

8.Превью на сайте создается с водяным знаком – логотип сайта и Имя автора. 

Насколько это реализуемо? Какой для этого нужно предусмотреть бюджет? Есть ли какие-то ограничения в написании такого кода? Если вам есть что предложить, можете написать мне на 401592@gmail.comСпасибо!

Отображение анонсов записей в три колонки

Здравствуйте! Я использовал на сайте следующую конструкцию для отображения анонсов записей в две колонки:

<?php
<div align="left" style="padding:0 20px;">
              <?php if (have_posts()) { 
                query_posts('cat=1');
                $i = 0;
                $per_column = ceil($posts_per_page / 2);
                if ($wp_query->post_count <= $posts_per_page)
                  $per_column = ceil($wp_query->post_count / 2); 
        ?> 
        <div class="column"> 
        <?php while (have_posts()) { 
                the_post(); 
                $i++;
        ?> 
        <div class="thumbnail">
          <?php the_post_thumbnail('thumbnail');?>
        </div>
            <div class="clear"></div>
              <div class="post"> 
                  <a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
<?php the_time('d.m.Y'); ?>
                  <?php the_content('ПОДРОБНЕЕ &raquo;'); ?>
                </div><!-- .post --> 
 
        <?php if ($i == $per_column) { ?> 
              </div><!-- .column --> 
     
            
            <div class="column right"> 
        <?php }
            }
          } 
        ?> 
 
          </div><!-- .column --> 
 
          <div class="clear"></div> 
      </div>
  
  </div>
?>

В настоящий момент возникла необходимость расположить анонсы новостей в три колонки, но, к сожалению, моих крайне скромных познаний в PHP не хватает на то, чтобы это самостоятельно сделать.

Невозможность входа на страницу авторизации WordPress

Установил ВордПресс . Решил перейти на страницу авторизации по ссылке “http://ws-kursy.ru/wp-login.php” на своем ноутбуке но получил страницу где было написано, что страница не найдена. На смартфоне все хорошо! 
Что я пробовал сделать: менял провайдера интернета, менял браузеры и отключал брандмауэр. Все это не помогло, как не появлялась страница авторизации  так и не появилась на ноутбуке. Помогите ! Я уже ни чего не могу понять почему ьтакая неоднозначность. На смартфоне я могу войти на страницу авторизации, а на ноутбуке нет! Может у кого-то было такое. Спасибо за помощ. 

Горизонтальный календарь в одну строку

Добрый день! Подскажите пожалуйста как создать в WP горизонтальный календарь в одну строку, с добавлением фото, афиш на нужный день. Спасибо!

Как создать плагин для управления плагинами в мультисайте?

Здравствуйте. Необходимо получить возможность активации и деактивации плагинов, на сайтах в поддоменах мультисети, из меню Мои сайты -> Управление сетью -> Плагины. Возможно ли это реализовать? Если нет, то почему? 

Фильтр записей на wordpress

Есть разметка под фильтр записей по категориям. Все бы хорошо, но он сверстан дивами, собственно, как можно реализовать передачу данных о постах на сервер для обработки без использования form и input? Подойдут ли data- атрибуты для этого дела? Или все же переделывать на checkbox?есть вот такой код “Попытка затолкнуть данные о категории в data”

<?php
<div class="center-filter__categories">
    <?php if($terms = get_terms(('category'))) { ?>
        <?php foreach($terms as $term) : ?>
            <?php echo "<div class='center-filter__categories-item center-filter__item' data-id='".$term->term_id."'>".$term->name."</div>"; ?>
        <?php endforeach; ?>
    <?php } ?>
</div>
?>

не понимаю как обработать data

cherry-wizard

Подскажите кто знает выдает ошибку, не могу установить((

Сортировка изображений

Доброго времени суток форумчане сделал плагин на основе коде найденного в просторах тернета который дает возможность добавлять в записи дополнительные фото, появилась необходимость сортировать картинки в заданном порядке для этого добавил переменную $gallery_data[‘image_count’] но как сортировать по ней не могу придумать, может подскажете в какую сторону копать

<?php
add_action( 'admin_init', 'add_post_gallery_so_14445904' );
add_action( 'add_meta_boxes_page', 'add_page_gallery_so_14445904' );
add_action( 'admin_head-post.php', 'print_scripts_so_14445904' );
add_action( 'admin_head-post-new.php', 'print_scripts_so_14445904' );
add_action( 'save_post', 'update_post_gallery_so_14445904', 10, 2 );



/**
 * Add custom Meta Box
 */

// Add meta box to custom posts 
function add_post_gallery_so_14445904() 
{
         
    add_meta_box(
        'post_gallery',
        'Галерея для Tixon',
        'post_gallery_options_so_14445904',
         'post',
        'normal',
        'core'
    );
}



/**
 * Print the Meta Box content
 */
function post_gallery_options_so_14445904() 
{
    global $post;
    $gallery_data = get_post_meta( $post->ID, 'gallery_data', true );

    // Use nonce for verification
    wp_nonce_field( plugin_basename( __FILE__ ), 'noncename_so_14445904' );

    ?>
<?php echo 'Количество элементов > ', count( $gallery_data['image_url'] );?>
    
    <div id="dynamic_form">

        <div id="field_wrap">
        <?php 

        if ( isset( $gallery_data['image_url'] ) ) 
        {
            for( $i = 0; $i < count( $gallery_data['image_url'] ); $i++ ) 
            {
         
            ?>

            <div class="field_row">

              <div class="field_left">
                <div class="form_field">
                  <!--<label>Image URL</label>-->
                  <input type="hidden"
                         class="meta_image_url"
                         name="gallery[image_url][]"
                         value="<?php esc_html_e( $gallery_data['image_url'][$i] ); ?>"
                  />
                  <input type="hidden"
                         class="meta_image_id"
                         name="gallery[image_id][]"
                         value="<?php esc_html_e( $gallery_data['image_id'][$i] ); ?>"
                  />
                </div>
                <div class="form_field" style="margin-bottom: 20px">
                  <label>Описание изображения</label>
                  <textarea
                         class="meta_image_desc"
                         name="gallery[image_desc][]"
                         rows="1"
                         style="width: 100%"><?php esc_html_e( $gallery_data['image_desc'][$i] ); ?></textarea>
                </div>
                       <div class="form_field" style="margin-bottom: 20px">
                  <label>Ссылка на Youtube видео</label>
                  <textarea
                         class="meta_image_desc"
                         name="gallery[href_url][]"
                         rows="1"
                         style="width: 100%"><?php esc_html_e( $gallery_data['href_url'][$i] ); ?></textarea>
                </div>

                <input class="button" type="button" value="Выбрать изображение" onclick="add_image(this)" />&nbsp;&nbsp;&nbsp;
                <input class="button" type="button" value="Удалить" onclick="remove_field(this)" />
              </div>

              <div class="field_right image_wrap">
                <img src="<?php esc_html_e( $gallery_data['image_url'][$i] ); ?>" />
          <input type="text" size="10" class="meta_image_count" name="gallery[image_count][]" value="<?php esc_html_e( $gallery_data['image_count'][$i] );  ?>">
              </div>
              <div class="clear" /></div> 
            </div>
            <?php
            } // endif
        } // endforeach
        ?>
        </div>

        <div style="display:none" id="master-row">
        <div class="field_row">
            <div class="field_left">
                <div class="form_field">
                    <!--<label>Image URL</label>-->
                    <input class="meta_image_url" value=""  name="gallery[image_url][]" />
                    <input class="meta_image_id" value=""  name="gallery[image_id][]" />
                </div>
                <div class="form_field" style="margin-bottom: 20px">
                    <label>Описание изображения</label>
                    <textarea class="meta_image_desc" name="gallery[image_desc][]" rows="3" style="width: 100%"></textarea>
                </div>
                    <div class="form_field" style="margin-bottom: 20px">
                    <label>Ссылка на Youtube видео</label>
                    <textarea class="meta_image_href_url" name="gallery[href_url][]" rows="3" style="width: 100%"></textarea>
                </div>
                <input type="button" class="button" value="Выбрать изображение" onclick="add_image(this)" />&nbsp;&nbsp;&nbsp;
                <input class="button" type="button" value="Удалить" onclick="remove_field(this)" />
            </div>
            <div class="field_right image_wrap">

            <input type="text" size="10" class="meta_image_count" name="gallery[image_count][]" value="">
            </div>
            <div class="clear"></div>
        </div>
        </div>

        <div id="add_field_row">
          <input class="button" type="button" value="Добавить доплнительное поле" onclick="add_field_row();" />
        </div>
        <?php if ( 'trend' == get_post_type( $post->ID ) ) { ?>
        <p style="color: #a00;">Make sure the number if images you add is a <b>multiple of 5</b>.</p>
        <?php } ?>
    </div>
    <?php
}

/**
 * Print styles and scripts
 */
function print_scripts_so_14445904()
{
    // Check for correct post_type
     global $post;
    if( 'post' != $post->post_type )
        return;
    ?>  
    <style type="text/css">
      .field_left {
        float:left;
        width: 85%;
        padding-right: 20px;
        box-sizing:border-box;  
      }
      .field_right {
        float:left;
        width: 15%;
      }
      .image_wrap img {
          max-width: 100%;
          max-height: 200px;
      }
      #dynamic_form input[type=text] {
        width:100%;
      }
      #dynamic_form .field_row {
        border:1px solid #cecece;
        margin-bottom:10px;
        padding:10px;
      }
      #dynamic_form label {
        display: block;
        margin-bottom: 5px;
      }
    </style>

    <script type="text/javascript">
        function add_image(obj) {

            var parent=jQuery(obj).parent().parent('div.field_row');
            var inputField = jQuery(parent).find("input.meta_image_url");
            var inputFieldID = jQuery(parent).find("input.meta_image_id");
            var fileFrame = wp.media.frames.file_frame = wp.media({
                multiple: false
            });
            fileFrame.on('select', function() {
                var selection = fileFrame.state().get('selection').first().toJSON();
                inputField.val(selection.url);
                inputFieldID.val(selection.id);
                jQuery(parent)
                .find("div.image_wrap")
                .html('<img src="'+selection.url+'" />');
            });
            fileFrame.open();
        //});
        };

        function remove_field(obj) {
            var parent=jQuery(obj).parent().parent();
            parent.remove();
        }

         function add_field_row() {
            var row = jQuery('#master-row').html();
            jQuery(row).appendTo('#field_wrap');
        }
    </script>
    <?php
}

/**
 * Save post action, process fields
 */
function update_post_gallery_so_14445904( $post_id, $post_object ) 
{
    // Doing revision, exit earlier **can be removed**
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )  
        return;

    // Doing revision, exit earlier
    if ( 'revision' == $post_object->post_type )
        return;

    // Verify authenticity
    if ( !wp_verify_nonce( $_POST['noncename_so_14445904'], plugin_basename( __FILE__ ) ) )
        return;

  if ( 'post' != $_POST['post_type'] ) 
        return;

    if ( $_POST['gallery'] ) 
    {
        // Build array for saving post meta
        $gallery_data = array();
        for ($i = 0; $i < count( $_POST['gallery']['image_url'] ); $i++ ) 
        {
            if ( '' != $_POST['gallery']['image_url'][ $i ] ) 
            {
                $gallery_data['image_url'][]  = $_POST['gallery']['image_url'][ $i ];
                $gallery_data['image_id'][]  = $_POST['gallery']['image_id'][ $i ];
                $gallery_data['image_desc'][] = $_POST['gallery']['image_desc'][ $i ];
                  $gallery_data['href_url'][] = $_POST['gallery']['href_url'][ $i ];
                    $gallery_data['image_count'][] = $_POST['gallery']['image_count'][ $i ];
            }
        }

        if ( $gallery_data ) 
            update_post_meta( $post_id, 'gallery_data', $gallery_data );
        else 
            delete_post_meta( $post_id, 'gallery_data' );
    } 
    // Nothing received, all fields are empty, delete option
    else 
    {
        delete_post_meta( $post_id, 'gallery_data' );
    }
}
?>

Удалить, добавить пост не заходя в админку

Здравствуйте!
Вопрос.
1. Есть список названий постов. Возле каждого названия есть кнопка ”

Удалить”. При клике по кнопке соответствующий пост удаляется без захода в админку, а сразу (пользователь зарегистрированный);
2. При нажатии на кнопку, которая находится на фронт  енде, выпадает поп ап, в котором пользователь указывает название статьи и может при желании еще загрузить pdf файл. При нажатии на кнопку submit  этого попап, на сайте создается запись с указанным названием, а загруженный файл загружается в медиа библиотеку. После этих двух действий в содержимое вновь созданной записи вставляется шорт код в котором используется ссылка на медиа файл PDF, который загрузился в предыдущем шаге.

Подскажите в общих чертах как можно реализовать такой функционал на бекенд.

Размещаете ли рекламу?

Здравствуйте! Вы размещаете рекламу?

Необходимо доработать функцию плагина

WordPress. Доработка функции плагина Learndash.Здравствуйте. Необходимо доработать плагин Learndash, чтобы в файл экспорта статистики, подтягивались дополнительные поля из профиля пользователей, созданных сторонним плагином.

Публикация через xmlrps

Всем доброго времени суток. У меня возник один вопрос, решение на который, я так и не смог найти в сети. Быть может кто то знает и сможет помочь здесь?)Суть вопроса:У вордпрес имеется скрипт для удаленной публикации записей. Но как эта публикация происходит? Как сделать запрос с содержимым (текстом, фото, рубрикой) что бы данный скрипт его обработал и опубликовал?Сторонние программы, такие как тексткит при помощи xmlrps свободно публикуют. Но есть ли возможность, сделать веб-страницу, чрез которую будет идти удаленная публикация на сайт? Или быть может в стандарте вп уже есть похожий инструмент?В общем как то так… Буду очень благодарен за помощь.

Мультиязычный сайт с плагином Elementor

Здравствуйте, возникла такая проблема: нужно сделать мультиязычный сайт, но популярные плагины не устанавливаются, либо работают некорректно. Машинный перевод не устраивает, нужен либо чисто ручной, либо машинный с возможностью редактировать. Плюс весь сайт создавался на Elementor, что тоже создает определенные неудобства. Возможно, кто-то сталкивался с подобной проблемой и уже знает, как она решается. В любом случае, заранее спасибо за ответ. 

Нужна помощь с поиском плагина

Мне нужн плагин, который поможет мне наложить кнопка поверх изображения, чтобы кнопка появлялась при наведении. (Я хочу сделать на этой кнопке контактную форму)

Не переводится плагин AnsPress, как решить проблему?

Здравствуйте, очень нужна ваша помощь с переводом плагина. Для проверки и редактирования перевода использовался плагин «Loco Translate».Но по каким-то непонятным причинам не переводятся элементы скриншота. Плагин не показывает, что есть не переведённые строки. Помогите, пожалуйста. 

Как сделать поле «Описание» не обязательным в AnsPress?

Здравствуйте, очень нужна ваша помощь с полем «Описание» вопроса. Может вы знаете, как сделать поле «Описание» в форме задания вопроса не обязательным. Нужно что бы только заголовок был обязательным. Спасибо! 

Маю проблему

Привіт. Маю проблему з категоріями товарів в WooCommerce. Маю головну сторінку і сторінку магазину. На головній сторінці є категорії – стандартний лінк, якщо виберу категорію якусь, то буде https://www.kazka-lviv.com.ua/product-category/дитячий-транспорт/ і я використовую wooBewoo Filter і тепер, якщо у фільтрі виберу якусь другу категорію, то лінк зміниться на https://www.kazka-lviv.com.ua/product-category/дитячий-транспорт/?filter_cat_2=3098. І в результаті буде нуль товарів в гріді, оскільки воно в дитячому транспорті шукає другу категорію. А якщо одразу в магазині фільтрувати не переходячи по лінку на якусь категорію, то все працює супер. Для прикладу ось так https://www.kazka-lviv.com.ua/shop/?filter_cat_2=3098 тоді я переключаюся між любими категоріями без проблем. Можете допомогти з даним питанням. Я так розумію лінк на категорію треба змінити, але поки не можу зрозуміти як це скомпонувати

Anonymous
Отправить
Ответ на: