Задать вопрос
Ответы пользователя по тегу WordPress
  • Как убрать надпись вниз статьи?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Соберите возвращаемую переменную в обратном порядке — сначала контент, потом время обновления

    $custom_content .= $content;
    if ( condition ) {
    	$custom_content .= '<p class="last-updated">Последнее обновление - '. $updated_date . ' в '. $updated_time .'</p>';
    }
    return $custom_content;
    Ответ написан
  • Можно ли сделать больше одного header и footer и как?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    1. Вы можете создать любой уникальный хедер header-{name}.php или футер footer-{name}.php и подключать в шаблон например так

    if ( is_home() ) {
    	get_header('home');
    } elseif ( is_404() ) {
    	get_header('404');
    } else {
    	get_header();
    }


    2. Эти же самые условия будут работать и в самом файле header.php

    if ( is_home() ) {
    	// тут контент уникального хедера домашней страницы
    } else {
    	// тут контент общего хедера для остальных страниц
    }
    Ответ написан
    Комментировать
  • Как в php брать значение из каждой ячейки в столбце по названию 10 строки?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Я пользуюсь старой библиотекой PHPExcel для конвертации таблиц в массив и обратно
    Ответ написан
    Комментировать
  • Почему не подтягиваются картинки?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    <?php
    $attachment_id = 8; // ID вложения
    
    // Получаем массив данных об изображении
    $image_attributes = wp_get_attachment_image_src( $attachment_id );
    ?> 
    
    <img src="<?php echo $image_attributes[0] ?>" width="<?php echo $image_attributes[1] ?>" height="<?php echo $image_attributes[2] ?>">
    Ответ написан
  • Как можно перевести сайт на wordpress. В файлах темы?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Для перевода строк в теме используются функции __(), _e(), esc_html__(), esc_html_e() и подобные

    esc означает замену спец символов в строке при выводе, e - echo

    Первым параметром передаете строку для перевода (на английском), вторым идентификатор для перевода

    <?php echo esc_html__( 'Any text with HTML', 'domain' );


    Для самого перевода удобно использовать внешнюю программу poedit или плагин Loco Translate. Перевод этих строк будет браться с учетом текущей локализации сайта
    Ответ написан
    Комментировать
  • Как вывести миниатюру предыдущей и следующей записи?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Вы можете передать изображение во второй аргумент функции previous_post_link() или next_post_link()
    $prevPost = get_previous_post();
    $prevThumbnail = get_the_post_thumbnail( $prevPost->ID );
    previous_post_link( '%link', $prevThumbnail, true );
    Ответ написан
    Комментировать
  • Как получить элементы таксономии по id таксономии wp?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    $query = new WP_Query( array(
    	'tax_query' => array(
    		array(
    			'taxonomy' => 'people',
    			'field'    => 'id',
    			'terms'    => '12'
    		)
    	)
    ) );
    Ответ написан
    Комментировать
  • Почему не работают медиа запросы на Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    В WordPress правильно подключать стили с помощью wp_enqueue_style()
    Ответ написан
    Комментировать
  • Как перевести с помощью Polyleng текст для переключения на следующею запись?

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

    1. В шаблоне оборачиваете нужную строку в функции __() или esc_html__(), после чего делаете перевод с помощью внешней программы poedit

    2. Вместо poedit вы можете сделать перевод с помощью плагина Loco Translate прямо в админке

    3. Или же вы можете использовать функции Polylang — pll__(), pll_e(), pll_register_string(). Краткий гайд такой:

    3.1 Регистрируете строки:

    add_action('init', function() {
      pll_register_string( 'mytheme', 'Hello world' );
    });


    3.2 Переводите их в админке на странице настроек Polylang

    3.3 Выводите в нужном месте pll_e( 'Hello world' ); или получаете для обработки pll__( 'Hello world' );
    Ответ написан
  • Не могу подлючить скрипт в Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Вы можете добавить скрипт инициализации с зависимостью от основного
    $carousel_init = "const myCarousel = new Carousel({
      container: document.querySelector('.slider'),
      items: document.querySelectorAll('.slider__item'),
      displayControls: false,
      controlsContainer: document.querySelector('.slider__controls'),
      autoplay: true,
      autoplayTime: 3500
    });";
    wp_add_inline_script( 'carousel', $carousel_init );
    Ответ написан
    Комментировать
  • Как вставить первую подкатегорию с ссылкой в статье Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Просто возьмите из массива первую категорию и выводите
    $categories = get_the_category();
    $cat = $categories[0];
    $category_link = get_category_link($cat->cat_ID);
    echo '<a href="'.esc_url( $category_link ).'" title="'.esc_attr($cat->name).'">'.$cat->name.'</a>';
    Ответ написан
    3 комментария
  • Редиректы вирусы на сайты?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    1. Удалить все нулленые плагины и темы
    2. Ядро перезалить
    3. Базу восстановить из бекапа
    4. Код основной темы отсмотреть самостоятельно
    Ответ написан
    Комментировать
  • Как вывести дату и краткое описание записи wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    <?php // задаем нужные нам критерии выборки данных из БД
    $args = array(
    	'numberposts' => 4,
    	'category' => 18,
    	'post_status' => 'publish',
    );
    
    $query = new WP_Query( $args );
    
    // Цикл
    if ( $query->have_posts() ) {
    	while ( $query->have_posts() ) {
    		$query->the_post(); ?>
    
    		<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    
    			<div class="entry">
    
    				<div class="entry__part entry__header">
    					<h2 class="entry__title"><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    				</div>
    
    				<div class="entry__part entry__meta">
    					<ul class="meta-list meta-list_inline">
    						<li class="meta-list__item meta-list__item_autor">
    							<?php echo '<a class="meta-list__link" href="' . get_author_posts_url( get_the_author_meta( 'ID' ) ) . '">' . get_the_author() . '</a>'; ?>
    						</li>
    						<li class="meta-list__item meta-list__item_date">
    							<?php echo '<time class="meta-list__date meta-list__date-published" datetime="' . get_the_date( 'Y-m-d\TH:i:sP' ) . '">' . get_the_date( 'j M, Y' ) . '</time>'; ?>
    						</li>
    						<li class="meta-list__item meta-list__item_category">
    							<?php echo get_the_category_list( ', ' ); ?>
    						</li>
    						<li class="meta-list__item meta-list__item_comments-count">
    							<?php echo '<a class="meta-list__link" href="' . get_comments_link() . '" rel="bookmark">' . __( 'Comments', 'skill' ) . ': ' . get_comments_number() . '</a>'; ?>
    						</li>
    					</ul>
    				</div>
    
    				<div class="entry__part entry__excerpt">
    					<?php the_excerpt(); ?>
    				</div>
    
    				<div class="entry__part entry__link-more">
    					<a class="link link_more" href="<?php the_permalink() ?>"><?php _e( 'Read more', 'skill' ); ?></a>
    				</div>
    
    			</div>
    
    		</article>
    		
    	<?php }
    } else {
    	// Постов не найдено
    }
    // Возвращаем оригинальные данные поста. Сбрасываем $post.
    wp_reset_postdata();
    Ответ написан
    Комментировать
  • Как вывести кол-во просмотров постов wordpress на главной?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    У вас не установлена глобальная переменная $post. Используйте wp_query() или setup_postdata( $post ) в цикле
    Ответ написан
  • Какие ограничения по дизайну и какую сетку выбрать в Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Используйте бутстрап 12 колонок и не ошибетесь - любой вменяемый разраб сделает вам ваши макеты
    Ответ написан
    3 комментария
  • Какой плагин использовать для внесения html-кода в пост WP?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    В Гутенберге есть блок "html-код"
    Ответ написан
    Комментировать
  • Почему перебиваются сили Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Нужно не тему править, а создать дочернюю и в ней уже делайте, что хотите. В ней подключается свой файл стилей, но по желанию можете подключать любые файлы
    Ответ написан
    Комментировать
  • Как правильно сделать переадресацию при нажатии на кнопку Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Это так не работает, .php это не страницы, а шаблоны, из них ВП собирает .html и отдает клиенту. <a сlass="button" href="#"></a> - это самый нормальный и естественный способ перехода между страницами
    Ответ написан
    Комментировать
  • Как избавиться от переадресации из админки на главную?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Не то чтобы я прям эксперт, это очень индивидуальная задача. Есть плагины cerber, aibolit - это из тех, которые на слуху, но они не дадут 100% гарантию

    Я считаю, что общий план должен быть следующим:

    1. Удалить все нулленые плагины, темы и даже все подозрительные
    2. Просмотреть файлы темы самостоятельно на наличие вредоносного кода, если тема от разработчика - переустановить
    3. Откатить базу к состоянию до заражения
    4. Перезалить файлы ядра


    Главное найти и удалить причину, а не лечить симптомы

    Что касается редиректа, то тут только гадать. В первую очередь посмотрите .htaccess, потом плагины безопасности, потом остальные плагины, потом темы
    Ответ написан
    Комментировать
  • Как вытащить определенную строку из записи,и показать её в отрывке?

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

    add_action( 'save_post', 'skill_save_post' );
    if ( !function_exists( 'skill_save_post' ) ) {
    	function skill_save_post( $post_id ) {
    
    		//$string = get_the_content();
    		$string = 'Цена: от 1,100 руб.';
    
    		if ( $data = array_map( 'trim', explode( 'Цена:', $string ) ) ) {
    			$data = array_pop($data); // берем последний элемент массива'
    			$data = preg_replace('/(\D+)/', '', $data); // удаляем все НЕ числа
    
    			// пишем в мету 
    			update_post_meta( $post_id, 'price_from', $data );
    		}
    	}
    }


    Берем контент, разбиваем по слову "Цена:", берем последний элемент массива, удаляем из строки все НЕ числа, пишем значение в мету на хуке save_post. Теперь вам не нужно проводить эти вычисления еще раз, а значение можно получить с помощью

    get_post_meta( $post_id, 'price_from', true );
    Ответ написан