• Почему не получается вывести шорткод в шаблоне Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Вариант с экранированием:
    <?php echo do_shortcode( '[gridmaster grid_style="style-2" post_type="game" posts_per_page="10" orderby="date" order="DESC" content_from="excerpt" excerpt_type="characters" excerpt_length="15" show_read_more="yes" read_more_text="Скачать" grid_image_size="medium" grid_image_width="350" grid_image_height="200" link_thumbnail="no" link_thumbnail_to="post" show_filter="yes" filter_style="default" btn_all="no" taxonomy="category" hide_empty="1" multiple_select="no" toggle_filter_items="no" pagination_type="load_more" infinite_scroll="true" animation="true" heading_font_size=\'{"xs":"16px","sm":"18px","md":"20px","lg":"22px","xl":"24px"}\' grid_col_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_row_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_item_per_row=\'{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"}\' slider_args=\'{"arrows":"1","autoplaySpeed":"3000","infinite":"1","slidesToShow":{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"},"slidesToScroll":{"xs":"1","sm":"1","md":"1","lg":"1","xl":"1"}}\']' ); ?>

    Вариант с NOWDOC синтаксисом, как подсказал Ivan Ustûžanin:
    <?php echo do_shortcode( '[gridmaster grid_style="style-2" post_type="game" posts_per_page="10" orderby="date" order="DESC" content_from="excerpt" excerpt_type="characters" excerpt_length="15" show_read_more="yes" read_more_text="Скачать" grid_image_size="medium" grid_image_width="350" grid_image_height="200" link_thumbnail="no" link_thumbnail_to="post" show_filter="yes" filter_style="default" btn_all="no" taxonomy="category" hide_empty="1" multiple_select="no" toggle_filter_items="no" pagination_type="load_more" infinite_scroll="true" animation="true" heading_font_size=\'{"xs":"16px","sm":"18px","md":"20px","lg":"22px","xl":"24px"}\' grid_col_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_row_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_item_per_row=\'{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"}\' slider_args=\'{"arrows":"1","autoplaySpeed":"3000","infinite":"1","slidesToShow":{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"},"slidesToScroll":{"xs":"1","sm":"1","md":"1","lg":"1","xl":"1"}}\']' ); ?>

    Если использовать нормальную IDE, то она сообщит о возможных проблемах:
    67347946022ff024286243.png
    Ответ написан
    1 комментарий
  • Длительное время выполнения функции get_posts()?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Но появилась идея запрашивать не все посты, а в зависимости от нужной категории. Все существующие ~ 2000 постов разделить на категории. Будет ли такая реализация работать быстрее?

    Хорошая идея, конечно будет.
    Либо есть какие-то другие идеи?

    Не "либо", а "вместе" - почему бы не кэшировать выборку постов из БД (Transients API)?
    $cache = get_transient('all_posts_cache');
    
    if (!$cache) {
        $posts = get_posts([
            'numberposts' => -1,
            'orderby' => 'date',
            'order' => 'DESC',
            'post_type' => 'post-item',
    
            // Искать по слагу категории
            'category_name' => 'category_name',
    
            // Или искать по id категории
            // 'cat' => 123,
    
        ]);
    
        // Кэширование на 1 час
        set_transient('all_posts_cache', $posts, HOUR_IN_SECONDS);
    
    }
    
    else {
        $posts = $cache;
    }
    Ответ написан
    Комментировать
  • Как правильно передать проект Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    или будет достаточно только самой папки находящаяся в themes

    Если Вы собираетесь передать лишь вёрстку натяную на wp (php файлы темы), то да, можно передать тему из директории /wp-content/themes.

    Если же проект не ограничивается wp версткой, то не рекомендую так делать, т.к. многий функционал находится в плагинах и их настройках, которые Вы таким образом не перенесете. В таком случае, лучше забэкапить все файлы проекта + бд и передать этот .jar (например) заказчику. Для этого удобно использовать плагины Duplicator или Akeeba.
    Ответ написан
    Комментировать
  • Как сделать сортировку по алфавиту с выводом первой буквы?

    IvanU7n
    @IvanU7n
    nothing interesting here
    элементарно: присвоить ей пустое значение перед циклом:
    $last_char = '';

    а ещё код не будет работать для нелатиницы при нормальном конфиге PHP, лучше substr() заменить на её аналог из mbstring mb_substr()
    Ответ написан
    3 комментария
  • Как узнать страницу логина на Wordpress сайте?

    @Kypidon4ik
    Фрилансер, Wordpress developer
    Попробуй через sftp доступ переименовать папку плагина All-In-One Security (этим ты его выключишь), должна вернуться дефолтная страницы авторизации
    Ответ написан
    1 комментарий
  • Перезд разных сайтов к одному провайдеру. Организация инфраструктуры?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Всего пока 4 сайта, на разных CMS (Wordpress, Joomla).

    1. С чего нужно начинать, чтобы подготовить сайт(ы) к переезду?

    Любой хостинг (shared с поддержкой MySQL и PHP) или VDS/DS.
    2. Что нужно подготовить на новом пустом сервере?

    Что такое "пустой сервер"? Если это VDS/DS, то гуглим, если это shared хостинг, то "создать сайты" (так обычно называется манипуляция у хостера, которая регистрирует место для расположения файлов для сайта) и MySQL БД для сайтов.
    3. Нужен ли для каждого сайта (их четыре) свой виртуальный сервер (VM)?

    Не нужен.
    Или как эти сайты вообще размещать чтобы в случае чего они не упали все вместе?

    Падение хостера достаточно редкое явление, чаще происходит дедос, который как раз и блокирует доступ к сайтам. Если критически важно, чтобы одновременно не легли все сайты, то нужны физически разные сервера и возможно, у разных хостеров.
    5. ... какие советы дадите

    Задавать более конкретные вопросы.
    Ответ написан
    Комментировать
  • Как по api получать поля Carbon Fileds?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Все верно, CF по умолчанию не возвращает данные из своих полей (только имена полей). Чтобы CF возвращал данные, необходимо явно разрешить это для каждого созданного поля, например так:
    use Carbon_Fields\Field;
    
    Field::make('text', $key, $this->meta_labels[$key])
        ->set_visible_in_rest_api(true);
    Ответ написан
    1 комментарий
  • Почему я не могу опубликовать статью на wordpress сайте?

    a_ntokhin
    @a_ntokhin
    SEO-специалист и автор Hello Digital World
    Код ошибки 401 — Unauthorized в переводе с английского «неавторизованный». Код ошибки сообщает о том, что для доступа к информации нужно быть авторизованным на данном сайте. Данная ошибка обычно возникает при некорректной работе сайта или скрипта, которые отвечают за авторизацию пользователей на сайте или если клиент вводит неверные пароль или логин.

    Проверьте данные для доступа и особенности входа. Может быть, что у вас не простая авторизация. Или в коде проблема, но я не программист. Если помог хоть немного, то отлично.
    Ответ написан
    Комментировать
  • Wordpress выдает такую ошибку, как её решить?

    @maksam07
    А вопрос то в чем?
    PHP сообщает об отсутствии модуля mysqli. Дальше уже обращайтесь за документацией к вашему ПО, чтобы узнать, как его включить/установить

    Некоторые решения:
    https://stackoverflow.com/questions/51624555/mysql...
    https://stackoverflow.com/questions/71702104/how-t...
    https://www.reddit.com/r/PHPhelp/comments/16mtjan/...
    Ответ написан
    Комментировать
  • Wordpress выдает такую ошибку, как её решить?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.

    Похоже, в вашей установке PHP отсутствует расширение MySQL, необходимое для WordPress.

    Убедитесь, что расширение PHP mysqli установлено и включено.

    Если вы не уверены, что означают эти термины, вам, вероятно, следует обратиться к своему хостеру. Если вам все еще нужна помощь, вы всегда можете посетить форумы поддержки WordPress.


    Переводчиком умеешь пользоваться? Всё же предельно понятно))
    Ответ написан
    Комментировать
  • Как добавить meta_box к произвольному типу записи в wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вариант:
    // add_meta_box('post_comment_stars_section', 'Звезды', 'sti_comment_stars_section_fields', 'post', 'normal', 'high');
    add_meta_box('post_comment_stars_section', 'Звезды', 'sti_comment_stars_section_fields', 'reviews', 'normal', 'high');

    Как предположение, но думаю, что 1 тоже должен работать:
    // $value = get_post_meta($post->ID, 'comment_stars', 1); ?>
    $value = get_post_meta($post->ID, 'comment_stars', true) ?>
    Ответ написан
    1 комментарий
  • Кульнарный сайт на wordpress неправильно отображается картинки в пойске?

    zorca
    @zorca Куратор тега WordPress
    Нанять фрилансера, чтобы исправил.
    Ответ написан
    Комментировать
  • Как убрать кавычки после php кода?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как убрать кавычки после php кода?

    Проблема не здесь. WP функция the_post_thumbnail() уже возвращает полный img тег (включая атрибуты src и alt) и получается, что у Вас внутри атрибута src вставляется еще один полноценный img тег.

    Попробуйте так ("full" аргумент указывает на размер изображения):
    <a href="<?php the_permalink(); ?>">
        <?php the_post_thumbnail('full', ['class' => 'lazy']); ?>
    </a>

    Но, если необходимо собрать свой собственный тег с указанием адреса до изображения, то можно использовать функцию get_the_post_thumbnail_url():
    <a href="<?php the_permalink(); ?>">
        <img class="lazy" src="<?php echo get_the_post_thumbnail_url(null, 'full'); ?>" >
    </a>
    Ответ написан
    3 комментария
  • Быстрая загрузка баннера. Как лучше реализовать?

    @KingAnton
    Во первых у них фоновая картинка весит ~50кб, у вас в два раза больше
    Во вторых у вас в целом не хватает кэша на сайте, чтобы странички отдавались со скоростью обычного html
    На третьем примере картинка загружается с такой же скоростью, как и на вашем сайте

    Предзагрузите картинку, может поможет
    <link rel="preload" href="image.png" as="image">

    Но как по мне, пользователи уже давно привыкли к такому поведению, что не все быстро грузится или что-то подгружается в моменте. Если дизайнерские изыски не влияют на функционал, то и заморачиваться не стоит. Или закрывайте все прелоадером до полной загрузки
    Ответ написан
    5 комментариев
  • Как сделать скриншот или запись, если запрещено?

    @AlexVWill
    Без рут - никак, поскольку приложение для отрисовки окон использует системные функции, и если приложение для окна установило FLAG_SECURE то система запретит скриншот (точнее отрисует окно в отдельном защищенном буфере, из которого нельзя получить скриншот). Т.е. это системное решение. Вот тут подробности:
    https://developer.android.com/reference/android/vi...
    Как вариант использовать web версию сервисов, браузер не имеет такого рода ограничений.
    Ответ написан
    3 комментария
  • Как вывести ссылку в echo через acf?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    $link_bc = get_field('link-bc');
    $bc = get_field('bc');
    
    echo '<a href="' . esc_url($link_bc) . '"><span class="breadcrumbs__current">' . esc_html($bc) . '</span></a>';
    Ответ написан
    Комментировать
  • Как убрать спам с сайта?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    Это не "в wordpress", а твой провайдер вставляет. В любой незащищённый трафик.
    Можешь писать ему заявление чтобы прекратил это делать.
    А для сайта можешь выпустить ssl-сертификат и перевести его на "безлопастный" протокол (https).
    Ответ написан
    2 комментария
  • Как связываются таблицы базы данных WordPress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Через id:
    - Поле post_author в таблице wp_posts содержит id пользователя, который является автором поста.
    - Поле user_id в таблице wp_usermeta содержит id пользователя, которому принадлежат метаданные.
    - Поле comment_post_ID в таблице wp_comments содержит id поста, к которому относится комментарий.

    Через промежуточные таблицы:
    - Таблица wp_term_relationships связывает записи с категориями и тегами.
    - Таблица wp_postmeta хранит метаданные для записей и других объектов.

    Например, связь между постом и его автором:
    - Поле post_author в таблице wp_posts содержит id пользователя, который является автором поста.
    - id пользователя можно использовать для поиска записи в таблице wp_users, чтобы получить информацию о нем.

    phpmyadmin:
    - Ограничения внешнего ключа отображаются только для связей, реализованных с помощью внешних ключей.
    - Другие связи можно увидеть, используя другие инструменты, например, плагин Adminer.
    Ответ написан
    5 комментариев
  • На сколько разрешено перепост с заблокированных сайтов и разумно ли это?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Но т.к. Твиттер заблокирован я подумал, что может быть это все не законно, но так ли это?

    Он заблочен РКН, но не признан экстремистской организацией, в отличие от инсты и fb.
    Правила твиттера, при цитирование, Вы должны поставить ссылку на источник.
    С одной стороны мне кажется её рискованно делать, с другой видел много новостей, которые пришли с заблокированных сайтов и всё вроде нормально.

    Ошибка выжившего, Вас не будут трогать, пока Вы не представляете интереса.
    Ответ написан
    Комментировать