• Как скрыть категорию в portfolio в wordpress-е ??

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Кроме того, что return $query делать не обязательно, код написан корректно. Вероятно, что портфолио у вас не категория, а произвольная таксономия. В этом случае аргумент category__not_in не сработает, для таксономии нужно писать массив tax_query

    Еще одна из вероятных причин в том, что вы находитесь не на странице, которая отвечает проверке is_home(). Этот условный тег проверяет показывается ли страница с последними постами, зависит от настроек параметров Чтение → Показывать последние записи сайта
    Ответ написан
    2 комментария
  • Как убрать с сайта страницу рубрики?

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

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

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    При подключении скриптов и стилей с помощью функций wp_enqueue_script() и wp_enqueue_style() вы можете четвертым параметром передать версию файла, тем самым сообщая браузеру, что файл следует обновить, если его версия отличается от той, которую сохранил браузер

    Удобнее всего передавать в этот параметр значение функции filemtime(), которая возвращает время последнего изменения файла

    function common_scripts() {
    	wp_enqueue_style( 'common-styles', get_theme_file_uri( 'assets/css/common.min.css' ), array(), filemtime( get_theme_file_path( '/assets/css/common.min.css' ) ) );
    
    	wp_enqueue_script( 'common-scripts', get_theme_file_uri( 'assets/js/common.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/assets/js/common.min.js' ) ), true );
    }
    add_action( 'wp_enqueue_scripts', 'common_scripts' );
    Ответ написан
    Комментировать
  • Как отобразить гистограмму статистики посетителей страницы wordpress в frontend?

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



    Если вас не устраивает именно вид отображения этих данных, вы можете просто посмотреть как именно плагин хранит эти данные в базе и написать свои графики на основе каких-то библиотек для отрисовки графиков и гистограм, например Google Chart API

    Еще один способ — вместо плагина вы можете доставать данные с Api Яндекс Метрики или Гугл Аналитики и отрисовывать данные точно также, с помощью какой-то js-библиотеки
    Ответ написан
  • Как перенести сайт с одной CMS на другую?

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

    Еще один вариант — найти способ экспортировать данные с исходного сайта в csv и импортировать их в WordPress с помощью какого-то плагина, например WP All Import, так вы сможете контролировать какие данные в какие поля импортировать
    Ответ написан
    Комментировать
  • Как в WordPress опубликовать запись "виртуально"?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    При регистрации типа записи с помощью функции register_post_type() вы можете указать общий аргумент public => false или publicly_queryable => false. При false записи этого типа будут недоступны во фронт-энде через обычные URL запросы и на запрос к текущему типу записи вы увидите 404 страницу

    Не совсем понятно как вы хотите убрать ссылки на записи с фронта, но оставить их в поиске, впрочем есть аргумент exclude_from_search => false, вы можете поэксперементировать

    Для функции регистрации таксономии register_taxonomy() есть точно такие же аргументы для этой механики
    Ответ написан
  • Как изменить код страницы на WordPress?

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

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    if ( $this_tag->name === 'Классицизм' ) {
    	echo '<a href="' . get_term_link( $this_tag->term_id, $this_tag->taxonomy ) . '">' . $this_tag->name . '</a>';
    }
    Ответ написан
    Комментировать
  • WordPress MU (Wordpress multisite) - так ли всё это удобно на практике?

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

    Работает стандартный экспорт, работают некоторые плагины миграции

    насколько сложно мигрировать с поддомена на отдельный домен оставаясь в системе WordPress MU?

    Просто при создании сайта, сложнее потом — нужно лезть в базу менять ссылки

    насколько трудоемким будет процесс клонирования заранее заготовленных шаблонных сайтов?

    Готовых решений не видел, писал свое

    можно ли устанавливать плагины централизованно, сразу для всех сайтов?

    Можно

    можно ли устанавливать темы централизованно, сразу для всех сайтов?

    Если оставить одну доступную тему, скорее всего она будет применяться по умолчанию

    как лучше всего создавать "точки восстановления" состояния сайтов?

    Если речь о бекапах, то общую базу бекапить так же как и для обычных сайтов на WordPress, для одного сайта в системе мультисайтов можно поискать плагины, но их может не быть
    Ответ написан
    1 комментарий
  • Что не так с сайтом?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    Просто сайтов с цветами в Москве сотни, если не тысячи, все не могут быть в топе. В принципе у вас не самые плохие позиции

    628eb59cc88f9899991872.png

    Сделайте срез по конкурентам, попробуйте понять почему у них сайты выше в поиске и работайте в этом направлении

    PS. Старый сайт выглядел действительно приятнее, в этом мало жизни
    Ответ написан
    Комментировать
  • Как удалить hook wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Функции добавляются на хуки с помощью add_action(), а убираются с помощью remove_action()

    remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );
    remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );
    Ответ написан
    Комментировать
  • Создание таблиц в Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Программы для создания таблиц: excel и google sheets. Для WordPress есть неплохой плагин TablePress, но на больших объемах информации все таки удобнее работать в классических таблицах и программно загружать их на сайт
    Ответ написан
    Комментировать
  • Почему не работает пагинация wordpress?

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

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Из вашего текста не понятно в какой момент может быть вызвана функция getField_Address(), если это возможно на хуке wp_enqueue_scripts, то вы можете подключить ваш код с помощью wp_add_inline_script()

    add_action( 'wp_enqueue_scripts', function(){
    
    	wp_enqueue_script( 'my_scripts', get_stylesheet_directory_uri() .'/my_scripts.js' );
    
    	$html_res = getField_Address($datafield_address);
    
    	// добавим произвольный код
    	wp_add_inline_script( 'my_scripts', $html_res[1] );
    	
    } );


    Если возможности нет, то можете просто повесить скрипт на какой-то последний приоритет хука wp_footer
    Ответ написан
    Комментировать
  • Прикрепить изображения к записи WP?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Если вы загружаете медиафайлы с использованием функции wp_insert_attachment(), то можете передать ID поста, к которому нужно прикрепить запись третьим параметром $parent_post_id

    wp_insert_attachment( $attachment, $filename, $parent_post_id, $wp_error, $fire_after_hooks );


    Проще всего прикрепить изображение к посту с помощью set_post_thumbnail(), первым параметром передаете ID записи, вторым ID медиафайла

    set_post_thumbnail( $post, $thumbnail_id );
    Ответ написан
    Комментировать
  • Как отобразить фотографии на странице из внутренней папки вместо медиабиблиотеки wp?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Можете использовать функцию scandir(), которая получает список файлов и каталогов, расположенных по указанному пути. Получаете файлы в указанном каталоге, выводите в нужной вам разметке по примеру

    $directory_uri = get_stylesheet_directory_uri() . '/data/nft/';
    $directory = get_stylesheet_directory() . '/data/nft/';
    
    echo '<div class="masonry-container">';
    	echo '<div class="row no-gutters masonry-gallery popup-gallery">';
    
    		foreach ( scandir( $directory ) as $key => $file_name ) {
    			if ( ! in_array( $file_name, ['.', '..'] ) && file_exists( $directory . $file_name ) ) {
    				echo '<a href="' . $directory_uri . $file_name . '" class="col-12 col-sm-6 col-lg-4 col-xl-3 masonry-item" title="#">';
    					echo '<img src="' . $directory_uri . $file_name . '" class="masonry-image" alt="#"/>';
    				echo '</a>';
    			}
    		}
    
    	echo '</div>';
    echo '</div>';
    Ответ написан
    Комментировать
  • Где найти код header-а темы Wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Функция onepress_header() находится в файле /inc/template-tags.php
    Ответ написан
    Комментировать
  • Как в wordpress скрыть элемент на странице для определенной группы пользователей?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Например, можно проверять текущий ник пользователя, если он авторизован
    if ( is_user_logged_in() ) {
    	$current_user = wp_get_current_user();
    
    	if ( in_array( $current_user->nickname, 'anubis', 'bast', 'ra', 'osiris' ) ) {
    		# code...
    	}
    
    }


    Если нужно проверять роль текущего пользователя, можно использовать этот пример

    function user_has_role( $user_id, $role_name ) {
    	$user_meta = get_userdata( $user_id );
    	$user_roles = $user_meta->roles;
    	return in_array( $role_name, $user_roles );
    }
    
    if ( is_user_logged_in() && user_has_role( get_current_user_id(), 'student' ) ) {
    	# code...
    }
    Ответ написан
  • Странное содержание robots в вордпрессе, такое нормально?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Скорее всего это стандартный robots.txt, который создается с помощью фильтра robots_txt. Управлять им можно следующим образом

    // Добавляем правила для файла robots.txt
    add_filter( 'robots_txt', 'wpgen_robots_txt', 20, 2 );
    function wpgen_robots_txt( $output, $public ) {
    
    	$output .= "Disallow: /wp-json\n";
    
    	return apply_filters( 'wpgen_robots_txt', $output, $public );
    }
    Ответ написан
    Комментировать