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 категория.

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

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

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

куда в ставить код Google при A/B ТЕСТИРОВАНИЕ САЙТА

Люди помогите проблемой.

Мне надо вставить на страницу код Google перед тегам header но только на одну страницу.
Не понимаю как это сделать?
Или какой плагин искать надо?

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