Задать вопрос
  • Зачем нужны теги в wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Теги нужны для дополнительной навигации по сайту. Теги нужны, чтобы объединять записи по общему признаку и выводить их на отдельной странице

    Кроме того, что рубрики имеют древовидную структуру, а теги нет, четкого разделения между ними нет. В целом старайтесь, чтобы запись принадлежала только одной категории и могла иметь несколько тегов. Например, сделайте рубрики Здоровье, Спорт, Политика и теги Коронавирус, Олимпиада, Афганистан, тогда запись относящая к категории Спорт может быть и про Олимпиаду и про Коронавирус

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

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    В wp_query() есть аргумент 's', в который можно передать поисковый запрос

    $args = [
    	'post_type' => 'product',
    	's' => 'search phrase',
    ];
    
    $query = new WP_Query( $args );


    Поиск по умолчанию происходит по полям post_title, post_excerpt, post_content. Если нужно исправить это поведение, ищите, например, по запросам wp_query search by post meta, решения есть

    Останется сделать из всего этого шорткод. К счастью в WooCommerce и так полно шорткодов вывода товаров, вы можете скопировать любой и отредактировать под вашу задачу
    Ответ написан
    Комментировать
  • Как удалить таксономию меток у постов?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Попробуйте решения отсюда: How do I remove a taxonomy from Wordpress?
    Ответ написан
  • Как получить описание видео с ютуба через Curl?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    У youtube есть прекрасное API, которое отдает всю необходимую информацию по видео и каналам
    Ответ написан
  • Какую галерею/плагин для WP использовать?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Посмотрите masonry + magnific popup, первый делает плитку с одинаковыми расстояниями, второй попап-галерею при клике

    613771659288b078910514.jpeg
    Ответ написан
    Комментировать
  • Какой есть WP плагин multilang multigeo?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Можно попробовать сделать на мультисайт + polylang, но, скорее всего, у вас просто проблема с архитектурой проекта
    Ответ написан
    3 комментария
  • Как вставить div в тему WordPress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Чтобы файлы не затерлись при обновлении нужно создать дочернюю тему

    В functions.php нужно добавить подключение скриптов и стилей на хуке wp_enqueue_scripts так:

    add_action( 'wp_enqueue_scripts', 'custom_scripts' );
    function custom_scripts() {
    
    	// Сюда стили
    	wp_enqueue_style( 'newstyle', get_template_directory_uri() . '/assets/css/custom_style.min.css' );
    
    	// Сюда скрипты
    	wp_enqueue_script( 'newscript', get_template_directory_uri() . '/assets/js/custom_script.min.js' );
    
    	// сюда инициализацию или отдельным файлом как выше
    	$newscript_init = 'jQuery(function($) {
    
    	});';
    	wp_add_inline_script( 'newscript', $newscript_init );
    
    }


    Вывод формы можно добавить на хук wp_footer так:

    add_action( 'wp_footer', 'the_popup_form', 1 );
    function the_popup_form() { ?>
    
    	<div id="popup" class="mfp-hide popup">
    		<form id="popup-form" class="popup-form">
    
    			<!-- ... -->
    
    		</form>
    	</div>
    
    <?php }
    Ответ написан
    9 комментариев
  • WP как вывести заголовки постов из подкатегории?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Попробуйте тут проверять, что родитель не равен нулю (что это дочерняя категория)

    foreach( $categories as $individual_category ) {
    	if ( $individual_category->parent != 0 ) {
    		$category_ids[] = $individual_category->term_id;
    	}
    }


    Лучше использовать 'posts_per_page', а не 'showposts'

    Второй код в комментариях вообще не то - вы делаете кучу запросов в базу, а выводите только последний
    Ответ написан
  • Как сделать условие на JS для категорий?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Если у вас класс .cat-parent добавляется если есть дочерние элементы, то используйте его .product-categories > li.cat-parent > a
    Ответ написан
    Комментировать
  • Как добавить знак вопроса и равно в ссылку wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Используйте функцию add_query_arg()

    $current_link = '/pages/video.php';
    $new_url = add_query_arg( [ 'video' => '123' ], $current_link );
    
    var_dump($new_url);
    Ответ написан
  • Как сделать ссылку на страницу в вордпрессе?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Базовый запрос и вывод записей с ссылками:

    // задаем нужные нам критерии выборки данных из БД
    $args = array(
    	'posts_per_page' => 5,
    	'post_type' => 'post',
    );
    
    $query = new WP_Query( $args );
    
    // Цикл
    if ( $query->have_posts() ) {
    	echo '<ul>';
    	while ( $query->have_posts() ) {
    		$query->the_post();
    		echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    	}
    	echo '</ul>';
    } else {
    	// Постов не найдено
    }
    // Возвращаем оригинальные данные поста. Сбрасываем $post.
    wp_reset_postdata();
    Ответ написан
    Комментировать
  • Как в TablePress вывести поле из Advanced Custom Fields?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Так работать не будет, при создании записей, в контенте не исполняется php-код. Вы можете почитать эту статью, чтобы понять общий принцип

    Я сомневаюсь, что кто-то, кроме самого разработчика сможет сходу сказать какие хуки в плагине TablePress отвечают за рендеринг контента, поэтому вам придется вооружиться документацией и перекопать код в их поиске

    Учитывайте, что вы создаете очень большую дыру в безопасности сайта

    И на последок, мой вам совет: напишите свой шорткод с кастомным запросом wp_query(), это будет работать быстрее и правильнее
    Ответ написан
    Комментировать
  • Как записать массив в Excel?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    $array = [ '123-345', '999-257', '399-455', '846-313', '555-000', '766-765', '564-564' ];
    
    // создаем excel объект
    $objPHPExcel = new PHPExcel();
    
    // устанавливаем свойства excel документа
    $objPHPExcel->getProperties()->setCreator("Levandovskaya Marina")
    	->setLastModifiedBy("Levandovskaya Marina")
    	->setTitle("Doc Title")
    	->setSubject("Doc Subject")
    	->setDescription("Doc Description")
    	->setKeywords("Doc Keywords")
    	->setCategory("Doc Category");
    $objPHPExcel->setActiveSheetIndex(0);
    
    // добавляем данные из массива в документ
    foreach ( $array as $key => $value ) {
    	$objPHPExcel->setActiveSheetIndex(0)->setCellValue( 'A' . $key, $value );
    }
    
    // сохраняем файл
    $objWriter = PHPExcel_IOFactory::createWriter( $objPHPExcel, 'Excel2007' );
    $objWriter->save( str_replace( '.php', '.xlsx', __FILE__ ) );


    Если нужно будет писать в строку A1, B1, C1 и т.д. используйте массив буквенных ключей

    $letters = array();
    for ( $x = 'A'; $x <= 'ZZ'; $x++ ) {
    	$letters[] =  $x;
    }
    Ответ написан
    1 комментарий
  • Как в wordpress создать динамический вывод статей в соответствующие категории?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Вам нужно было показать код get_template_part() и визуально эта функция должна быть в блоке .main-content

    <div class="container">
    	<div class="main-content">
    		<?php get_template_part( 'loop', 'category' ); ?>
    	</div>
    </div>


    Лично мне импонирует организация файлов темы twentysixteen

    get_header(); ?>
    
    	<div id="primary" class="content-area">
    		<main id="main" class="site-main" role="main">
    
    		<?php if ( have_posts() ) : ?>
    
    			<header class="page-header">
    				<?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?>
    				<?php the_archive_description( '<div class="taxonomy-description">', '</div>' ); ?>
    			</header>
    
    			<?php 
    			while ( have_posts() ) :
    				the_post();
    
    				get_template_part( 'template-parts/content', get_post_format() );
    
    			endwhile;
    
    			// Previous/next page navigation.
    			the_posts_pagination(
    				array(
    					'prev_text'          => __( 'Previous page', 'twentysixteen' ),
    					'next_text'          => __( 'Next page', 'twentysixteen' ),
    					'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentysixteen' ) . ' </span>',
    				)
    			);
    
    		else :
    			get_template_part( 'template-parts/content', 'none' );
    		endif; ?>
    
    		</main>
    	</div>
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>


    Смотреть, как работают популярные темы — это хорошая практика, возьмите на будущее
    Ответ написан
    Комментировать
  • Поиск и удаление определенных HTML тегов с помощью php?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    С помощью Simple HTML Dom и делайте

    $content = '<img itemprop="url image" loading="lazy" class="vc_single_image-img attachment-large" src="data:image/svg+xml,%3Csvg%20xmlns=\'http://www.w3.org/2000/svg\'%20viewBox=\'0%200%20690%20808\'%3E%3C/svg%3E" width="690" height="808" data-lazy-sizes="(max-width: 690px) 100vw, 690px" data-lazy-src="/images/wp-content/uploads/2021/03/deklaracija-list-1.jpg">
    <img itemprop="url image" loading="lazy" class="vc_single_image-img attachment-large" src="/images/wp-content/uploads/2021/03/deklaracija-list-1.jpg" width="690" height="808" data-lazy-sizes="(max-width: 690px) 100vw, 690px">';
    
    $html = str_get_html( $content );
    $images = $html->find( 'img' );
    
    foreach ( $images as $key => $image ) {
    	if ( stripos( $image->src, 'data:' ) !== false ) {
    		$image->outertext = '';
    	}
    }
    
    var_dump( $html->innertext );
    Ответ написан
    1 комментарий
  • Помощь с ajax wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Был уже такой вопрос, да и в гугле по запросу "ajax register wordpress" решений тьма
    Ответ написан
  • Не обновляется дата страницы wordpress в google. что делать?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Нужно в Google Search Console закинуть карту вашего сайта (sitemap), поисковик ее проверяет и если дата обновления страницы изменилась, он ее переобходит

    Тут же вы можете принудительно отправить страницу на переиндексацию

    612f204b520c7036601893.png
    Ответ написан
    Комментировать
  • Как создать тему/шаблон wp под elementor?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    стала интересная задача создать тему Wordpress для themeforest.

    Не очень-то интересная)

    как вообще создаются темы блогов с несколькими вариантами стилями для импорта

    С помощью кода — php, html, css, js

    Практический совет — посмотрите как сделаны стандартные темы twenty и популярные темы из репозитория и делайте так же, но скажу сразу, что покликав мышкой в админке вы не сможете сделать тему, которая пройдет верификацию themeforest
    Ответ написан
    5 комментариев
  • Можно ли сделать через ACF добавление множество полей?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Это доступно только в PRO версии. В качестве альтернативы можете попробовать использовать Carbon Fields, он бесплатный, но поля придется создавать кодом
    Ответ написан
  • Есть ли примеры дизайна расписания на черном, темном фоне?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    Ответ написан
    Комментировать