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

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

Плагин для выпадающих списков

Есть ли готовый плагин для создания выпадающих списков? Например сайт автомобилей. В первом списке выбираешь марку и сразу во втором появляются подели данной марки. Выбираешь модель выходят года и т.д.

Не работают get параметры в URL

Версия WordPress 4.4.5
Сайтkivigrioup.by
Плагины:
-All In One SEO Pack
-Breadcrumb NavXT
-Contact Form 7
-Google XML Sitemaps
-Meta Slider Lightbox
-RusToLat
-Wordpress Menufication
-WP Fastest Cache
Сама проблема
На сайте не работают гет параметры (без этого жить было можно, но сейчас планируем запускать контекст и для аналитики и utm меток будет нужно.) Проблема началась около года назад, но тогда ей не было придано должного значения. В тот период если меня не подводит память редактировался только файл function.php(его содержимое выложу ниже). Что примечательно get параметры не работают только после страниц, если дописать этот параметр после страницы в админке, или после любого изображения, то все нормально. Может кто сталкивался с такой проблемой или хотя бы сможет подсказать в каком направлении копать буду очень благодарен.
Код function.php

<?php
function change_mce_options($initArray) {

    $initArray['verify_html'] = false;
    $initArray['cleanup_on_startup'] = false;
    $initArray['cleanup'] = false;
    $initArray['forced_root_block'] = false;
    $initArray['validate_children'] = false;
    $initArray['remove_redundant_brs'] = false;
    $initArray['remove_linebreaks'] = false;
    $initArray['force_p_newlines'] = false;
    $initArray['force_br_newlines'] = false;
    $initArray['fix_table_elements'] = false;

    $initArray['entities'] = '160,nbsp,38,amp,60,lt,62,gt';

    return $initArray;
}

add_filter('tiny_mce_before_init', 'change_mce_options');

function fb_disable_feed() {
wp_redirect(get_option('siteurl'));
}

add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

remove_action('wp_head','adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head','rel_canonical');
function true_search_turn_off( $q, $e = true ) {
    if ( is_search() ) {
        $q->is_search = false;
        $q->query_vars[s] = false;
        $q->query[s] = false;    
        if ( $e == true ){
            $q->is_404 = true;
        }
    }
}
 
add_action( 'parse_query', 'true_search_turn_off' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );


if (function_exists('add_theme_support')) {
    add_theme_support('menus');
}

add_filter( 'wp_nav_menu_objects', 'submenu_limit', 10, 2 );

function submenu_limit( $items, $args ) {

    if ( empty($args->submenu) )
        return $items;

    $parent_id = array_pop( wp_filter_object_list( $items, array( 'title' => $args->submenu ), 'and', 'ID' ) );
    $children  = submenu_get_children_ids( $parent_id, $items );

    foreach ( $items as $key => $item ) {

        if ( ! in_array( $item->ID, $children ) )
            unset($items[$key]);
    }

    return $items;
}

function submenu_get_children_ids( $id, $items ) {

    $ids = wp_filter_object_list( $items, array( 'menu_item_parent' => $id ), 'and', 'ID' );

    foreach ( $ids as $id ) {

        $ids = array_merge( $ids, submenu_get_children_ids( $id, $items ) );
    }

    return $ids;
}
add_filter('rest_enabled', '__return_false');
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' ); 
remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 ); 
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 ); 
remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' ); 
remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status' ); 
remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' ); 
remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' ); 
remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status' ); 
remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );
remove_action( 'init', 'rest_api_init' ); 
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 ); 
remove_action( 'parse_request', 'rest_api_loaded' );
remove_action( 'rest_api_init', 'wp_oembed_register_route' ); 
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );


?>

P.S. .htaccess полностью дефолтный

Есть ли плагин по созданию нескольких дублей одной и той же страницы?

Привет всем. Есть ли плагин который дублирует одну страницу и имеет функцию задания количества дублей. Например при нажатии ссылки "clone" чтобы спрашивал сколько копий этой страницы создать.

Проблемы с установкой пагинации и количеством отображения постов.

Добрый день! Столкнулся с такой проблемой. Ни как не могу ограничить количество выводимых элементов на странице и настроить пагинацию. Сайт не реагирует на ограничение постов на настройках админки, не помогают и плагины. Ограничения не вводятся, пагинация не включается. На главной странице выдаются все посты (товары) одним длиннющим списком.

Как я понял, вот кусок кода из index.php отвечающий за вывод и сортировку.

 ?>

<aside class="side-middle">
<!-- Панель управления -->
          <div class="c-detail">
            <div class="curency">
              <span class="lcol">Валюта
              </span>
              <a id="rub" class="rub" onclick="reloadPrice('rub');">Рубль</a>
              <a id="usd" class="rub" onclick="reloadPrice('usd');">Доллар</a>
              <a id="eur" class="rub" onclick="reloadPrice('eur');">Евро</a>
              <a id="uah" class="rub" onclick="reloadPrice('uah');">Гривна</a>
            </div>
            <div class="view-item">
              <span class="lcol">Вид товара
              </span>
              <a class="item-list cur "></a>
              <a class="item-block "></a>
            </div>
            <div class="sort">
              <span class="lcol">Сортировать по
              </span>
              <span class="sort-name"><?php echo $array_sort[$sortby]; ?>
              </span>
              <ul class="sort-list">
                <li>
                <a id="gname" href="?sortby=gname" class="filter">имени (А - Я)</a>
                </li>
                <li>
                <a id="gnameg" href="?sortby=gnameg" class="filter">имени (Я - А)</a>
                </li>
                <li>
                <a id="popular" href="?sortby=popular" class="filter">популярн.</a>
                </li>
              </ul>
            </div>
          </div>        
<!-- конец Панель управления -->        

<div class="content-item">  
<?php

if ($sortby == 'popular'){
  $args = array('cat' => '-24', 'meta_key' => 'views', 'meta_compare' => '>=', 'meta_value' => 0, 'orderby' => 'meta_value_num', 'order' => 'DESC', 'posts_per_page' => -1 );
}
if ($sortby == 'gname'){
  $args = array('cat' => '-24', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1 );
}
if ($sortby == 'gnameg'){
  $args = array('cat' => '-24', 'orderby' => 'title', 'order' => 'DESC', 'posts_per_page' => -1 );
}
query_posts($args);
 $ex_rates = new EX_rates();
 $allRates = $ex_rates->coursesInArray();
 $procEco = 1.14;
                if ( have_posts() ) : while ( have_posts() ) : the_post();  
                include(TEMPLATEPATH . '/include/view-product.php');
                endwhile;
                else:
                include(TEMPLATEPATH . '/include/no-post.php');
                endif; 
wp_reset_query();                
?>
</div>
</aside>
<?php get_footer(); ?> 

Пробовал изменять параметр ‘posts_per_page’ , но это не приводит ни к каким изменениям. Хотя, может я неверно его изменял?
Буду безумно благодарен за советы и помощь.

Зависает админка wp на списке постов

Добрый всем день. Проблема такая. При загрузке списка постов WordPress в Google Chrome по адресу сайт.ру/wp-admin/edit.php мышь на секунд 30 зависает и становится не активной.
Интересно то, что при переносе всего сайта на другой публичный домен этой проблемы нет.
Также нет этой проблемы в internet explorer.

Также заметил что на проблемном сайте не подгружается css файл с fonts.googleapis.com

В чем может быть проблема подскажите пожалуйста

Кривое отображение сайдбара на отдельной странице

На своем сайте autobryansk.info на всех постах и страницах правый сайдбар отображается нормально, кроме одной страницы http://autobryansk.info/o-nas причем в яндекс браузере все нормально где я под админом вошел, а в гугле и мазилле он не справа, а уплыл куда то вниз самой записи. Не силен в коде, подскажите как исправить? Может есть код какой отключить сайдбар вообще на этой странице по номеру id если да, то какой код и куда его вставить. Или лучше вариант вообще поправить почему он уплывает не могу понять. Тема сайта wordpress.org/themes/lectura-lite/

Нужна помощь специалистов по созданию чуда :)

Ребят, всем привет. Недавно решил заняться созданием онлайн-журнала, остановился на вордпрессе. Так как финансовые возможности, мягко говоря, отсутствуют, приходится разбираться шаг за шагом со всем. Сейчас сделал макет, и хотел бы уточнить у специалистов своего дела несколько вопросов:

1. какие виды виджетов используются? собирал из разных шаблонов, может кто знает

глобальные переменные в ajax hook

Вообщем, приветствую всех. Возможно вопрос пустячный, но что то сам уже не могу додуматься. Обращаюсь ко всем неравнодушным. ОЧень надеюсь на помощь.

Короче суть: В файле function в теме создаю функцию в которой задействованы глобальные переменные $woocommerce или $current_user. Функцию цепляю на два аякс хука. Вообщем не видно эти переменные глобальные. Как разрулить проблему! ?

add_action(‘wp_ajax_zapis’, ‘ajax_zapis’);
add_action(‘wp_ajax_nopriv_zapis’, ‘ajax_zapis’);
function ajax_zapis() {

global $current_user;

$date = $_POST[‘zapis_date’];
$time = $_POST[‘zapis_time’];

mail(get_option(‘admin_email’), "Запись на прием", "<body style=’height:500px;background-image: url()’><img src=”><div style=’color:rgb(214, 36, 125);background:white;padding:5px;’><h3>".$current_user->user_firstname." желает записаться на прием ".$date." на ".$time." Телефон клиента: ".get_user_meta($current_user->ID,"_user_phone",true)."</h3></div></body>",
"Content-type: text/html\r\nFrom: www");

wp_die();
}

add_action(‘wp_ajax_new_order’, ‘ajax_new_order’);
add_action(‘wp_ajax_nopriv_new_order’, ‘ajax_new_order’);
function ajax_new_order() {

$name = $_POST[‘name’];
$phone = $_POST[‘phone’];
$email = $_POST[’email’];
global $woocommerce;

$text = "";

$items = $woocommerce->cart->get_cart();

foreach($items as $item => $values) {
$_product = $values[‘data’]->post;

$text = $text."<tr><td>".$_product->post_title."</td>";
$sss = floatval( get_post_meta($values[‘product_id’], ‘_regular_price’)[0] );
$text = $text." <td>".$sss."</td>";
$text = $text."<td> <center>".$values[‘quantity’]."</center></td>";
$ttt = intval(floatval($sss) * $values[‘quantity’]);
$text = $text."<td>".$ttt."</td></tr>";
}

if($name != "" & $phone != "" & $email != "" ){
if( mail(get_option(‘admin_email’), "Новый заказ", "<div style=”>От клиента ".$name." поступил новый заказ!<br><br>Номер телефона: ".$phone."<br>E-mail: ".$email."<br><br><table style=’border: 4px double black;’><tr><td>Название товара</td><td>Цена</td><td>Количество</td><td>Сумма</td></tr>".$text."</table></div>",
‘Content-type: text/html; charset=iso-8859-1’) ){
$woocommerce->cart->empty_cart( $clear_persistent_cart = true );
echo 1;
}
else{ echo 0; }
}
else{ echo 0; }

wp_die();
}

Это я примеры скинул свои. Всем огромная благодарность заранее) Привет всем из Украины )

Создание блока с контактными данными

Доброго времени суток. Подскажите, как создать форму для внесения контактных данных посетителю. Не регистрацию на сайте а именно контактные данные. Чтобы после заполнения необходимых полей (имя,фамилия,адрес, прочее), я на почту получал эти данные?
Заранее спасибо за помощь

Как в форме обратной связи WordPress передать адрес страницы

Здравствуйте. Помогите мне найти ответ на вопрос, как можно заставить плагин, работающий по принципу обратной связи, отправлять в письме ссылку на страницу, на которой воспользовались формой.
Если использовать $current_url = ‘http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘PHP_SELF’];, то в письме приходит такая ссылка – www.site.ru/wp-admin/admin-ajax.php

SEO оптимизация для WP — насколько нужна?

Здравствуйте! Хочу сделать блог на WP, немного изучив и почитав, хочу задать вопрос: насколько необходима SEO оптимизация для WP? Кто-то пишет, что WP сам по себе хорошо оптимизирован и не нуждается в дополнительных изменениях, а кто-то ругается на огромное число дублей и т.д. Если все же надо, встает ряд вопросов, но сперва хотел бы уточнить, что использовать сторонние плагины, типа All in One SEO Pack, не хотелось бы:

1. Надо ли создавать дополнительные поля Description и Keywords? Вроде как поисковики сейчас не используют их? Как сделать их статью нашел, но надо ли?

2. Включу ЧПУ, настрою robors.txt, пропишу правильно название сайта (с WWW или без WWW) – все это легко, статей много в инете.

3. От <strong>replytocom </strong>избавлюсь этим кодом:
RewriteCond %{QUERY_STRING} ^replytocom= [NC]
RewriteRule (.*) $1? [R=301,L]

4. Дубли category и page – кто-то говорит надо закрывать, кто-то нет. Так надо или нет? Если надо, то вот код:
/Добавляем meta robots noindex,nofollow Для страниц ***/
function my_meta_noindex () {
if (
is_paged() // Все и любые страницы пагинации
) {echo "".'<meta name="robots" content="noindex, nofollow" />’."\n";}
}
add_action(‘wp_head’, ‘my_meta_noindex’, 3);

5. Дубли feed, comment-page, attachment, attachment_id, trackback. Закрывается кодом:
RewriteRule (.+)/feed /$1 [R=301,L]
RewriteRule (.+)/comment-page /$1 [R=301,L]
RewriteRule (.+)/trackback /$1 [R=301,L]
RewriteRule (.+)/comments /$1 [R=301,L]
RewriteRule (.+)/attachment /$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^attachment_id= [NC]
RewriteRule (.*) $1? [R=301,L]

6. Дубли more. Цитирую с сайта:
Избавится от таких дублей можно при помощи редактирования файла wp-includes\post-template.php В этом файле нужно найти строчку:
$output .= ‘ <a href=»‘. get_permalink() . «#more-$id\» class=\»more-link\»>$more_link_text</a>»;
В этой строчке нужно удалить #more-$id, оставить только «/» и сохранить файл.

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

7. Как можно решить вопрос с canonical без сторонних плагинов?

что за плагин?

что может быть за плагин? кто знает? и если это не плагин вовсе, то что?) как сделать так же?
https://pp.vk.me/c637223/v637223437/2cf58/XWqqPdqkt9Y.jpg

Размер миниатюры для разных категорий товаров

Есть огромная проблема с размерами миниатюр для разных категорий товаров. На сайте представлены различные категории – одежда и посуда, высоту миниатюры изображения для каждой категории надобно сделать разную.
Сайт – kod-ua.com.ua, установлен wp+woocomerce, существует только жесткая обрезка для всех категорий.

даные с CF7 сохранять в google docs

У меня есть 10 сайтов, на всех установлен cf7
задача сохранять отправленные данные в одно место.
Пытался через два плагина CF7 Google Sheet Connector и NS Google Sheets Connector не работает(

Есть еще какие-то варианты ?

Как создать копию модуля

Добрый вечер.
Собственно, идея.
Будет сайт, на сайте нужно сделать, груба говоря, несколько разделов с портфолио (нужно что бы с ajax сортировкой по категориям).
Т.е. если одно портфолио, то там всё просто: скачал модуль портфолио, создал рубрики, привязал, вывел.
А вот как продублировать этот же модуль для других портфолио? Материалы будут разные. Ставить разные модули под каждое портфолио? Но как-то глупо

Делал так, что создавал дубликат папки с модулем, только с другим названием, менял в шаблонах, скриптах и css старое название на новое. Модуль устанавливается, материалы создаются, но при переходе на раздел сайта, где должны выводиться материалы – 404 страница (речь сейчас идёт о cherry framework и его модуль cherry portfolio).

Выпадающее меню

Как реализовать в обратной связи в выпадающем меню подразделы?
Может есть какой нибудь модуль где это уже реализована?
Спасибо

настройка тайтлов

Подскажите где править файлы.
суть в чем,
при создании страницы есть окошко (Subtitle) где мне его изменить чтобы по умолчанию оно было не H3 f H2
и практически тоже самое только уже в редакторе SiteOrigin редактор Название тоже идет под тегом H3 а мне надо H2 По умолчанию сделать

При покупке от 3 товаров чтоб ценна доставки сразу приравнивалась нулю

Дело в том что создал интернет магазин и хочу сделать такую фишку что при покупке от 3 товаров прилагалась бесплатная доставка.Я просто новенький в этом деле, магазин по видеоурокам создавал )) . Если кто нибудь знает как сделать это подскажите пожалуйста

Вывод бренда. Настройка внешнего вида каталога и карточки товара

Привет всем!

Подскажите, пожалуйста, девушке, как можно вывести название бренда перед названием товара и в КАРТОЧКЕ ТОВАРА и на СТРАНИЦЕ КАТАЛОГА? В папке хуков не нашла строку с брендом.

Для вывода брендов установлен плагин WooCommerce Brands

ЧПУ с полным адресом. Как?

Привет всем.
Вот столкнулся с маленькой проблемкой. Суть:
Мне нужно в адресной строке отобразить примерно следующее: сайт/родительская_категория/дочерняя_категория/название_поста
Такая конструкция нужна только там, где есть родитель-дочка, в ином случае – только 1 категория.

Как отобразить сайт/родительская_категория/название_поста – зная, а как туда засунуть еще и дочернюю категорию – нужен совет.

Пост принадлежит обоим категориям (и родителю, и дочке).

Помогите, дельным советом..

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