01. Проблемы и решения с WordPress

Что-то не работает? Сайт не загружается? Сломалось. Пиши сюда.

Поиск из среды WP по базе данных

Допустим в phpMyAdmin будет создана таблица данных из 150 человек(Фамилия, Имя, Отчество, и т.д.). На определенной странцы сайта WordPress будет форма поиска по этой таблице. Как это проще реализовать. Будьте любезны, подскажите. Обшарил пол интернета. Что-то похожее есть, но моими руками не заработало.

Пункт в меню WP

Здравствуйте. Хочу сделать лимит на количество символов в одном пункте в меню или желательно иметь возможность перенести на строку ниже после определённого символа(надо после дефиса). Пишу длинное название пункта, но вместо того, чтоб перенестись на строку ниже, оно просто заполняет строку в длину, т.к. есть место. Заказчик просит этот пункт в 2 строки, а я не понимаю, как это сделать. Пересмотрел десятки форумов и нигде не нашёл именно этой проблемы. Прошу помощи, скрин прилагаю. Первый скрин-как есть, второй-как надо(он из выпадающего меню, там всё автоматом переносится)

Ищу готовое решение для небольшого сайта с отзывами

Всем доброго времени суток. Есть идея сделать тематический (только одна категория товаров) сайт отзывов о товарах и продавцах. Чтобы товары и продавцов мог добавлять только я, а пользователи писали отзывы и ставили оценки. И чтобы в итоге можно было сортировать товары и продавцов по рейтингам и другим критериям (цена для товаров, город для продавцов и т.д.). Ну и чтобы защита от накрутки какая-то была. Есть какое-то более-менее готовое решение? У меня есть небольшой опыт работы с wordpress, интернет-магазины делал и сайты обычные. Что посоветуете?

title и мета в пользовательском посттайпе

Ребята, всем привет! Сделал пользовательский посттайп для портфолио по созданию сайтов. Отдельные посты в этом посттайпе это страницы с кейсом об одном определённом сайте. Они сделаны в рамках админки постами. Им можно прописать тайтлы, дескрипшны, текст и т. п., то есть средствами админки это сдлеать можно. А вот с самим посттайпом, как рубрикой для кейсов сайтов — проблема. Все метаданные формируются каким-то внутренним шаблоном. В БД ничего не нашёл, да и вряд-ли он там что-то есть, так как видно, что title складывается из нескольких частей. Контент получается можно редактировать только через файл шаблона посттайпа в папке темы. Пробовал менять метаданные через фильтры, но ничего не получилось. В YoastSeo тоже ничего не нахожу. А всё это поменять очень надо, так как это страница для портфолио по созданию сайтов, а таких запросов хватает, плюс хочется порядка, чтобы лишних мусорных страниц не образовывалось. Подскажите, может кто сталкивался с подобным, есть ли какое-то толковое решение. Заранее спасибо!

Вот проблемная страница: https://insodatech.by/blog/portfolioweb/

Первое изображение в качестве миниатюры

Добрый день народ!Известно, что open graph выводит картинку, которую при создании записи назначено в качестве миниатюры, но можно его заставить вывести картинку в том случае, если миниатуры не задано, то есть добавляем функцию для og где будет присутствовать кусок кода

//ДЛЯ ИЗОБРАЖЕНИЙ
$first_img = '';
$otimg = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1][0];
if(empty($first_img)){
$first_img = get_bloginfo('template_directory'). '/wp-content/uploads/2019/11/rianovost.ru_.jpg';
}

И после этого при шаринге в соцсетях open graph выводит картинку, которая задана в качестве миниатюры, а если миниатуры нет, то благодаря коду выше выводит первое изображение записи если даже это изображение находится вне хостинга, то есть выставлен из других сайтов.Теперь мой вопрос в следующем :Известно, что можно настроить вывод похожих записей без плагина если вставить код в нужное место


<div class="poxojie_zapisi">
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>5,
'orderby'=>rand,
'caller_get_posts'=>1);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<h3>Похожие записи:</h3>';
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>

<li><a>" rel="bookmark" title="<?php the_title(); ?>">
<?php the_post_thumbnail(); ?><br /><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}
?>
</div>

РазвернутьНо этот код выводит только те изображения, которые заданы в качестве миниатуры во время создания записи.Мой вопрос к программистам :Как первый код от open graph интегрировать в коде вывода похожих записей, что как в open graph выводил первое изображение записи если даже миниатуры не заданы.То же самое касается вывода первой картинки на главной в анонсах. Тут вообще странное дело получается. Если в записи не вставить тег далее, то на главной выводится анонсы с изображением только из тех записей, где задана миниатуры, а записи без заданных миниатюр выводятся голым текстом, но как только вставлю в записи тег далее, то на главной выводятся первые изображения записи, словно тег далее подталкивает изображения на главной.Кто нибудь знает как быть с этим багом?Тема GeneratePressТема поддерживает вывод краткого анонса вне зависимости вставлен ли в записи тег далее, например в других темах если не вставить тег далее, то на главной выводит запись целиком, но у меня вывод анонса не зависит от тега. Но зато вывод изображении почему то зависит от тега далее.

Аккордеон для фильтра товаров

Добрый день.Подскажите, пжлст, как можно решить следующую задачу:Установил фильтр товаров для Woocommerce — Premmerce Product Filter. Очень нужен именно этот плагин. Но есть один нюанс — он не имеет возможности сворачиваться в аккордеон на мобильном виде.Не могу использовать никакой код аккордеона, чтобы в него вставить фильтр шорткодом, так как плагин не имеет шорткода. Он добавляется виджетом в сайдбар.Подозреваю, что единственное решение — в каком-то шаблоне, где выводится сайдбар «Shop» можно прописать какой-то html-код аккордеона. Но не знаю, где это делать и что вписывать.Буду признателен за помощь.Спасибо!

Возможно ли запретить прямой доступ к корневым файлам WP?

Здравствуйте!
Подскажите пожалуйста, существует ли способ без использования плагинов запретить прямой доступ к файлам ядра WP, к примеру:http://localhost/wp-admin/user/menu.php
http://localhost/wp-settings.php
http://localhost/wp-links-opml.php
http://localhost/wp-mail.php
И подобные файлы, которые выдают информацию с ошибками, при прямом доступе. Есть файлы, которые версию движка отображают или к примеру относительные пути.
Пробовал перекрывать таким образом:
RedirectMatch Permanent http://oursense.ru/wp-mail.php /
но в это случае перестает работать отправка писем.
Можно ли как то запретить к подобным файлам прямой доступ или просто переадресовывать на 404?

Как вывести номер страницы пагинации в заголовке h1 Woocommerce?

Добрый день.Появилась потребность уникализировать заголовки h1 страниц пагинации в категориях Woocommerce. Требуется начиная со 2 страницы дописывать к заголовку – “Страница 2 из N”” и т.д. (на первой/главной странице категории выводится оригинальный h1 без указания номера страницы ). Подскажите как это можно максимально грамотно и просто реализовать. Находил в интернете, что-то похожее на решение моей задачи. но реализовать не смог. Если подскажите на примере шаблона Astra, буду максимально признателен.Заранее благодарю!

Меняется адрес при отправке формы в http://site-ru/wp-comments-post.php

Форма:

<?php
<form action="/wp-comments-post.php" method="post">
<input  name="fio" type="text" value="">
<input name="submit" type="submit" value="Отправить">
</form>
?>

При нажатии на отправить осуществляется переход на адрес http://site-ru/%5ehttp://127.0.0.1/$
Откуда это %5ehttp://127.0.0.1/$ берется?

В Chrome инструменте разработчика видно, что происходит 301 редирект, но кто его делает?
При отправке формы в любой другой файл-обработчик адрес не меняется.
На хостинге также происходит замена адреса, где вместо 127.0.0.1 подставляется мой ip.
Перелопатил все: код, бд, htaccess – не нашел никаких редиректов

Если переименовать wp-comments-post.php в wp-comments-post111.php, то отправка происходит без смены адреса, т.е. все работает как и должно. Ну вот как так-то?

Как изменить название товара при его добавлении (WordPress + WooCommerce)?

Добрый день!Есть интернет магазин WordPress + WooCommerce.Необходимо при добавлении товара в базу магазина добавлять к наименованию товара название раздела этого товара.К примеру:Есть ТОВАР. Он размещен в разделе РАЗДЕЛ.При добавлении ТОВАРА его наименование меняется на “ТОВАР для РАЗДЕЛ”.В таком измененном виде он и вносится в БД.Как это лучше реализовать и куда смотреть?Заранее спасибо!

Пропала возможность добавления записи/страницы

После обновления wordpress пропала возможность добавления записи, страницы. Не все поля отображаются и при сохранении пишет – Извините, вам не разрешено редактировать эту запись.Захожу под правами администратора.

Увеличить длину Post Title и Permalink

По умолчанию WP режит длину Post Title и соответственно Permalink. Как это можно исправить/увеличить?

Вывод произвольных записей

Создал произвольные записи , выводятся только на главную страницу. Подскажите как их вывести на другую  (тематическую) страницу

Табы

Ребята здравствуйте. Подскажите пожалуйста как сделать на своём сайте, точно такие же красивые табы..А то я делаю они не столь превлекательные получаются.. Может плагин какой посоветуете или есть какое то ещё решение?
https://korneeva-nail.ru/ вот как на этом сайте..

Проблема с отображением курсива на macOS и ios

Всем привет. На нашем сайте курсив не отображается на устройствах Apple. Пытался менять шрифт, не помогло. Из-за этого не модем делать нормально цитаты. Как модно решить эту проблему?

в footer

Всем привет, помогите разобраться, на главной странице в подвале расположены несколько тегов <a href=”#”>      </a> пустых (несколько штук) в footer.php их нет и на всех остальных страницах его тоже нет, где его искать и как удалить их?

Сделать таблицу динамической

Добрый день! Создал таблицу через Table Press.  Подскажите как сделать , чтобы посетитель сайта  мог оставлять комментарии в каждой позиции  таблицы?

Проблема с сайтом, изменения в файловом менеджере не применяются на сайте

Всем доброго времени суток. Есть сайт antek.su. Последние два месяца там активно создавался контент и разные странички. Еще вчера все было ок и никаких обновлений на данный период не устанавливалось. Ночью решил немного допилить сайт. Как зашел, увидел следующую картину: Сайт словно “откатился” к изменениям, когда всех новых страниц не было, то есть они все пропали, а заодно и плагины удалились, изменения в коде и тп, при этом в бд следы страниц я нашел, а в директории с плагинами находятся все плагины. При этом заметил следующее: файлы сайта, которые мы видим в админке через редактор темы и в файловом менеджере отличаются. Привожу скрины файла page.php.
(на скриншоте, в файловом менеджере видим вывод меток для page.php, а в админке данные изменения отсутствуют.). Так же, заметил следующее: с некоторой периодичностью сайт восстанавливается, а затем снова откатывается… С чем связанно не могу понять. Сейчас вордпресс версии 5.4.1, все плагины также актуальные. Может, кто-нибудь сталкивался или понимает, в чем может быть дело…

get_post_meta для дочернего эллемента

На сайте есть плагин Page-list, который выводит списки страниц он выводит краткое содержимое страницы. Нужно написать условие, если на текущей странице есть произвольное поле с определенным названием то выводить его, если нет то выводить краткое содержимое страницы.
Нашла такой код

<?php
$value_meta = get_post_meta($post->ID, 'ampforwp-amp-on-off', true);
?>

Но он выводит для текущей страницы, а мне нужно для ребёнка

Custom Post Type (PODs framework) – модификация slug 404 / Not found

Доброго дня,

использую фреймворк PODs для WP.
Создал несколько custom post types и связал их между собой.

Есть необходимость отразить эту связь в структуре ссылки (slug).
Пример: domain/custom-post1/custom-post2/post-title

 В связи с чем создал костюмную функцию, где реализовываю этот алгоритм:

<?php

function custom_post_slug ( $post_link, $post ) {

    /* Pulling the relation post slug */
    $quote_author = get_post_meta($post->ID, 'quote_author', true);
    $quote_author['post_name'];

    /* Condition for 'quote' post type */
    if ( 'quote' != $post->post_type || 'publish' != $post->post_status ) {
        return $post_link;
    }
    /* Modifying slug */
    $post_link = str_replace( '/' . $post->post_type . '/', '/' . $quote_author['post_name'] . '/' . $post->post_type . '/', $post_link );
    return $post_link;
}
add_filter( 'post_type_link', 'custom_post_slug', 10, 3 );

?>

Сама функция отрабатывает правильно, так как структура ссылки приобретает ожидаемую структуру. Проблем в том что страница поста отдает ошибку:
404 / not found

Что я упустил?

Спасибо

Anonymous
Отправить
Ответ на: