Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Хорошие посты про Data Science в одной коллекции
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
trampick

Иван Козлов

Веб-разработчик
  • 144
    вклад
  • 22
    вопроса
  • 281
    ответ
  • 31%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как убрать отображение атрибута в woocomerce?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Вариация товара это совокупность атрибутов и значений. Т.е. в плане php кода нет возможности скрыть, т.е. не предусмотрено, рушится структура логики вариативного товара. (Я сторонник того что написать можно что угодно и переделать, но не стоит это делать в этом случае).

    Есть некоторые хитрости , которыми можно воспользоваться в плане отображения. Если у атрибута, который нужно скрыть есть значение по умолчанию, или достаточно что бы 1 элемент был выбран, то пишем на js и css. Скрыть этот атрибут и выбрать первое значение.

    Если я не понял вопроса, уточните;)
    Ответ написан 27 сент. 2020
    Комментировать
    Нравится Комментировать
  • Как выводить результаты поиска по разделам в вордпрессе?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    На мой взгляд простым решением будет:
    В search.php шаблоне(если нет его, надо создать) в основном цикле while данные складывать в массив, группируя по нужным критериям(новости, события).

    Как создать условия группировки это вопрос к структуре вашего сайта, какие типы постов, таксономии есть. В массив сразу добавлять необходимые данные записей - заголовки, ссылки и т.д.

    Далее через цикл вывести уже сгруппированные данные в шаблон.

    Тут есть вопрос как сделать пагинацию правильно. Я бы ограничил результат поиска в какое то количество записей, например 100. И выводил бы все на 1 странице. Это самый простой вариант.

    Вариантов много как реализовать.
    Ответ написан 27 сент. 2020
    Комментировать
    Нравится Комментировать
  • Есть ли плагин рассылки который собирает автоматически всех зарегистрированных?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Вот этот должен подойти:)
    Но лучше это делать через сторонний сервис, так как почтовые сервисы могут забанить.
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Есть где логическая схема БД WordPress?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Такую схему придется рисовать самому. Разница в графическом отображении - другой вид. У каждой таблицы и ее полей есть русскоязычное обозначение. Пробуй переводить. Так же есть довольно старенькая статья. Большая часть бд осталась похожей. Далее у тебя есть связи S1-Sn их перерисуй в нужный вид и обозначь. Первичный ключ у каждой таблицы нужно по примеру всегда писать 1 стройкой и в отдельной рамке.
    Схема скорее всего нарисована через какую то программу. Попробуй узнать у препода.

    Не понятно правда зачем тебе описание стандартной базы wp, если ты wp сам не писал. По идеии в дипломе нужно указывать твою работу. Ну или если у тебя есть какой то анализ узких мест или возможности улучшения стандартной структуры wp, то и привести текущий вариант работы. Хотя если нужно лить воды, то из базы данных wp можно целый диплом замутить:)
    Ответ написан более двух лет назад
    2 комментария
    Нравится 2 комментария
  • Не используйте переадресацию с целевой страницы?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Попробуй плагин Really Simple SSL
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • С помощью какого метода или запроса можно изменить количество конкретного товара на складе?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Кол-во определенного товара хранится в post_meta с ключом '_stock'. Обновить можно так.
    $id_product = 777;
    update_post_meta($id_product, '_stock', '10');
    Ответ написан более двух лет назад
    1 комментарий
    Нравится 1 комментарий
  • Как добавить товар в Woocommerce?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Можно создать сколько угодно страниц и использовать на них шорткоды.
    Шорткоды Woocommerce
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Как в wordpress часть скриптов запустить в футере?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    wp_enqueue_script( 'jquery-3.3.1', '/scripts/jquery-3.3.1.min.js', array(), '1.0', false);

    $in_footer - false на true работает. Важно понимать где вызывается это функция. По хорошему она должны быть повешена на
    add_action( 'wp_enqueue_scripts', 'add_my_scripts' );
    . Если дело не в этом, то может быть дело либо в $handle , либо в $ver.
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Как взять текущего пользователя в цикле WP в плагине?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Ваш код не пробовал использовать. Если проблема именно в порядке вызова то можно как вариант использовать куки.
    в switch_to_locale указываем то что хранится в куках, если ничего нет, то значение по умолчанию или вообще не вызывать switch_to_locale.
    current_user_locale_language() повесить на init раз оно там работает. Добавляем проверку на есть ли значение в куках, если есть, то ничего не делаем, если нет то выполняем код скрипта и вместо return $user_locale сохраняем полученное значение в куки и делаем перезагрузку страницы.
    Ответ написан более двух лет назад
    2 комментария
    Нравится 2 комментария
  • Почему не изменяется количество товара при оформлении заказа программно?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Возможно в конце не хватает
    $order->save();

    Тут куча примеров
    Ответ написан более двух лет назад
    3 комментария
    Нравится 3 комментария
  • Как сделать меню из подменю wordpress?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Вариантов много
    - Написать свою функцию вывода меню используя wp_get_nav_menu_items.
    - Правильно использовать структуру wp. Пусть страница услуги будет страницей. Для услуг создадим дочерние страницы, которые необходимо. Ну и в том месте в шаблоне где необходимо будем через wp_query получать дочерние страницы, и если они есть, то выводить в виде меню.
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Есть ли какой-нибуть виджет для добавления комментариев!?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Один
    Два
    Три
    Больше
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Как быстро вставить более 100к записей в Woocommerce?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Это изначально неправильная идея вставлять(или обновлять как в задаче сказано) каждых 6 часов более 100к товаров, да и использовать WC для такого количества товаров не разумно на каком либо железе.

    Вставить напрямую через mysql товар не так просто, есть много взаимосвязей между таблицами. Так как я понимаю у тебя тянутся товары откуда то из вне, то нет возможности у эти товаров сохранить определенные параметры и тебе нужно будет помимо вставки делать постоянные выборки. Реализовать все это можно и будет быстрее работать, но как поддерживать и где искать ошибки если что не так - не понятно. Особенно на 100к записях. Кстати, по моему опыту больше всего нагрузку дает это обработка изображений, если их правильно через wp ядро добавлять.

    Если один раз вставить все эти товары и затем обновлять только определенные параметры, например цену, то задача уже более реальная. Нужно делать выборку товаров, что бы получить их id и затем обновлять необходимые данные.
    Ответ написан более двух лет назад
    Комментировать
    Нравится 1 Комментировать
  • 301 массовый редирект wordpress, при смене постоянных ссылок?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Сделай бекап сайта с базой на всякий случай. Затем просто поменяй вид постоянных ссылок. Если сам wp редирект не будет делать, то используй к примеру такой скрипт
    $h = $_SERVER['REQUEST_URI'];
     if (strpos($h,'.html') > 0) {
    	$h = str_replace('.html','',$h);
    	header("HTTP/1.1 301 Moved Permanently"); 
    	header("Location: http://www.host.ru".$h); 
    	exit();
     }

    www.host.ru замени на твой домен.
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Как в wordpress реализовать дочерние записи к записям?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Параметры для регистрации должны быть такими
    register_post_type( 'kosmetologiya',
        array(
          'labels' => array(
            'name' => __( 'Косметология' ),
            'singular_name' => __( 'Косметологические процедуры' )
          ),
          'public' => true,
          'has_archive' => true,
          'add_new' => 'Добавить процедуру',
          'menu_position' => 5,
    'hierarchical' => true,
          'supports' => array('title', 'editor', 'thumbnail', 'post-formats', 'excerpt', 'custom-fields', 'page-attributes' ),
        )
      );

    Так должна включится иерархическая структура аналогично страницам. Если не отображается, то проверьте параметры экрана при создании процедуры. Так же постоянные ссылки должны быть правильно настроены как "название записи"
    Ответ написан более двух лет назад
    1 комментарий
    Нравится 1 1 комментарий
  • Как вывести последние записи на главной странице с миниатюрами?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Исправь свой запрос и цикл на такой вид. Будет работать.
    <?php
    		$args   = array(
    			'post_type'      => 'akcii',
    			'posts_per_page' => 6,
    		);
    		$recent = new WP_Query( $args );
    		while ( $recent->have_posts() ) {
    			$recent->the_post();
    			?>
    			<div class="col-12 col-sm-6 col-lg-4">
    				<div class="main-articles_block">
    					<div class="main-articles_header"><?php echo get_the_title(); ?></div>
    				  <a href="<?php echo get_permalink();?>">
    					<?php the_post_thumbnail('actions-preview', ''); ?>
    				  </a>
    				  <div class="main-articles_descr">
    					<div>
    					  <a href="<?php echo get_permalink(); ?>">Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.</a>
    					</div>
    				  </div>
    				</div>
    			</div>
    			<?php
    		}
    		wp_reset_postdata();
    		wp_reset_query();
    		?>
    Ответ написан более двух лет назад
    1 комментарий
    Нравится 1 1 комментарий
  • Сохранение города как на Авито?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Так можно определить текущий город по ip
    $server = $_SERVER['REMOTE_ADDR'];
    $rrs = file_get_contents("http://api.sypexgeo.net/json/" . $server);
    $obj = json_decode($rrs);
    print_r($obj);//Здесь хранятся необходимые данные. Выбирай что нужно - страна, регион, город.

    Сохранять данные нужно с помощью session
    Так нужно инициализировать сессии в functions.php
    add_action('init', 'myStartSession', 1);
    add_action('wp_logout', 'myEndSession');
    add_action('wp_login', 'myEndSession');
    
    function myStartSession() {
        if(!session_id()) {
            session_start();
        }
    }
    
    function myEndSession() {
        session_destroy ();
    }

    Так сохранить и получить данные
    //сохраняем
    $_SESSION['city'] = 'Город'; 
    //Получаем
    if(isset($_SESSION['city'])) {
        $city = $_SESSION['city'];
    } else {
        $city= '';
    }
    Ответ написан более двух лет назад
    5 комментариев
    Нравится 2 5 комментариев
  • Сделать выборку постов такого вида?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Вам нужно использовать в запросе meta_query вместе с tax_query . Если нужно использовать запрос за 2 года(такое возникнет когда выбрать январь 2018 и ноябрь-декабрь 2017), то придется разбить его на 2 запроса.
    По хорошему надо переделать. У поста создать еще поле с датой в формате Unix Timestamp. Тогда и запросы проще будут, и работать все быстрее будет.
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
  • Что означает это предупреждение от iThemes Security об изменении в файле?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Что такое awstats. В общем это модуль твоего сервера(хостинга) который собирает различную статистику. Он это делает каждый день и записывает в файл. Почему файл awstats062018.txt потому что сейчас 6 месяц 2018 года. Следующий файл создаст awstats072018.txt в следующем месяце. Этот модуль можно настроить по разному. Запуск осуществляется через wp-cron, скорее всего он где в плагинах есть.
    Ответ написан более двух лет назад
    Комментировать
    Нравится 1 Комментировать
  • Как работают тразакции в Wordpress?

    trampick
    Иван Козлов @trampick
    Веб-разработчик
    Не понятно определил ли ты где то ранее global $wpdb;
    Попробуй условие заменить на это
    if (false === $result) {
    throw new Exception("Ошибка БД. ".$wpdb->last_error);
    }

    Думаю дело в срабатывании условия.
    Ответ написан более двух лет назад
    Комментировать
    Нравится Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • Fallenyasha
    • 13 ответов
    • 0 вопросов
  • Drno
    • 7 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 7 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 7 ответов
    • 0 вопросов
  • SoreMix
    SoreMix
    • 6 ответов
    • 0 вопросов
  • BojackHorseman
    Лентюй
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации