• Как убрать дублирование текста на страницах пагинаций в Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Функция is_paged() проверяет отображается ли страница пагинации (страница типа /page/2, /page/3)

    if ( !is_paged() ) {
    	# Блок, который будет показан только на основной странице, но не странице пагинации
    }
    Ответ написан
    Комментировать
  • Почему не работает пагинация wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Потому что аргументом 'posts_per_page'=>-1 вы получаете все посты, а не только посты конкретной страницы. К тому же the_posts_pagination() работает с глобальным циклом на страницах архивов, используйте для этого paginate_links(). Можете взять пример отсюда
    Ответ написан
    Комментировать
  • Как в WordPress закрыть от индексации только внешние ссылки в контенте?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    По ним все равно учитываются переходы и на усмотрение поисковиков может передаваться вес. Рекомендую плагин Mihdan: No External Links, толково сделано. Ну или, хотя бы, посмотрите идею
    Ответ написан
  • Wordpress | Не работает update_user_meta. В чем ошибка?

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

    date_default_timezone_set("Europe/Moscow");
    $current_time = date('Y-m-d H:i:s');
    
    if ( strtotime($current_time) > strtotime($act_until) ) {
    	# событие прошло
    } else {
    	# событие НЕ прошло
    }
    Ответ написан
    Комментировать
  • Что делать если случайно удалил тему wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Где удалили? Если на хостинге, то пишите в тех.поддержку и надейтесь, что они делают бекапы, в отличие от вас
    Ответ написан
    Комментировать
  • Как создать около 50 поддоменов на Wordpress (Multisite)?

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

    $cities = array(
    	'mos' => 'Москва',
    	'spb' => 'Санкт-Петербург',
    	'nsk' => 'Новосибирск',
    	'ekb' => 'Екатеринбург',
    );
    
    $pathinfo = pathinfo(home_url());
    $network_id = get_current_network_id();
    $user_id = get_current_user_id();
    
    foreach ( $cities as $key => $city ) {
    	
    	$site_data = array(
    		'domain' => $key .'.' . $pathinfo['basename'],
    		'path' => '/',
    		'network_id' => $network_id,
    		'user_id' => $user_id,
    		'title' => 'Заголовок сайта ' . $city,
    		'options' => [
    			'blogdescription' => 'Описание сайта ' . $city,
    			'permalink_structure' => '/%category%/%postname%/',
    			'template' => 'twentytwenty',
    			'stylesheet' => 'twentytwenty',
    			'posts_per_page' => '12',
    			'active_plugins' => [
    				'cyr2lat/cyr-to-lat.php',
    				'query-monitor/query-monitor.php',
    				'wordpress-seo/wp-seo.php',
    				'wp-fastest-cache/wpFastestCache.php'
    			]
    		]
    	);
    
    	// вставляем сайт в базу данных
    	$site_id = wp_insert_site( $site_data );
    
    	// пишем ошибку/успех
    	if( is_wp_error( $site_id ) ) {
    		var_dump( 'Ошибка инсерта мультисайта ' . $key . ': ' . $site_id->get_error_message() );
    	} else {
    		var_dump( 'Мультисайт ' . $key . ' опубликован удачно!' );
    	}
    
    } // end foreach $cities


    Можно исхитриться и дублировать контент с главного сайта на поддомены тоже программно
    Ответ написан
    1 комментарий
  • Как вернуть стили и страницы, если удалил файлы wordpress и вернул обратно?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Без файла style.css у вас перестала работать тема, ее нужно активировать заново в разделе Внешний вид Темы. Страницы вида homepage v1.php — это шаблоны, которые тоже перестали применяться. Вам нужно зайти в раздел Страницы, выбрать нужные и поочередно заново присвоить им шаблоны
    Ответ написан
    1 комментарий
  • Как убрать надпись вниз статьи?

    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();
    Ответ написан
    Комментировать