obius

obius
Рейтинг
56
Регистрация
19.08.2015
zusull:
А зачем страницы то удаляются, то снова появляются?

Вопрос то не в этом) вдоде. :)

djusel:
Вообще я хотел, чтобы выводилась не основная рубрика, а подрубрика в цепочке. Как это реализовать я не знаю. Гуглил, не нашел. Может я не так задаю вопрос...?

Нужны наглядные примеры.

Ну правильно, если пост "Тариф «Черный» Теле2" отмечен был в категории/рубрике "Тарифы Теле2", то так и будет показывать "Тарифы Теле2" в хлебных крошках как родительскую категорию/рубрику. А еще, если пост "Тариф «Черный» Теле2" отмечен в двух рубриках ( "Теле2" и в "Тарифы Теле2" ), то родительская рубрика может быть и та и та.

Например, если get_the_category() вернет:


Array
(
[0] => WP_Term Object
(
[term_id] => 3
[name] => Теле2
[slug] => %d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b8-1
[term_group] => 0
[term_taxonomy_id] => 3
[taxonomy] => category
[description] =>
[parent] => 2
[count] => 1
[filter] => raw
[cat_ID] => 3
[category_count] => 1
[category_description] =>
[cat_name] => Подрубрика Рубрики 1
[category_nicename] => %d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b8-1
[category_parent] => 2
)

[1] => WP_Term Object
(
[term_id] => 2
[name] => Тарифы Теле2
[slug] => %d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-1
[term_group] => 0
[term_taxonomy_id] => 2
[taxonomy] => category
[description] =>
[parent] => 0
[count] => 1
[filter] => raw
[cat_ID] => 2
[category_count] => 1
[category_description] =>
[cat_name] => Рубрика 1
[category_nicename] => %d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-1
[category_parent] => 0
)

)

то по вашему коду $categories[0] вернет данные для "Теле2"

а если


Array
(
[0] => WP_Term Object
(
[term_id] => 3
[name] => Тарифы Теле2
[slug] => %d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b8-1
[term_group] => 0
[term_taxonomy_id] => 3
[taxonomy] => category
[description] =>
[parent] => 2
[count] => 1
[filter] => raw
[cat_ID] => 3
[category_count] => 1
[category_description] =>
[cat_name] => Подрубрика Рубрики 1
[category_nicename] => %d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b8-1
[category_parent] => 2
)

[1] => WP_Term Object
(
[term_id] => 2
[name] => Теле2
[slug] => %d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-1
[term_group] => 0
[term_taxonomy_id] => 2
[taxonomy] => category
[description] =>
[parent] => 0
[count] => 1
[filter] => raw
[cat_ID] => 2
[category_count] => 1
[category_description] =>
[cat_name] => Рубрика 1
[category_nicename] => %d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0-1
[category_parent] => 0
)

)

тогда Тарифы Теле2

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

Функция get_the_category возвращает все категории/рубрики, в каких пост был отмечен.

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

Я не пользуюсь wp, но интереса ради по колупаюсь.

В теории нужно рекурсивно получить родительские категории для категории в какой находится пост.

djusel, киньте в ЛС ссылку на пациента.

Замечательный у вас код, сами писали?

Что возвращает get_the_category? Не отвечайте, уже нагугли, возвращает массив. Тогда вопрос, что это происходит:


$categories(0)

Раз уж полезли в код, соизвольте хотя бы попытаться найти доки и разобраться как использовать ту или иную функцию cms.

От разрабов описание тут.

.htaccess


RewriteCond %{QUERY_STRING} .
RewriteRule ^ ? [R=301,L]

Разберетесь, в каком месте вставить.

Левик:
obius, вопрос такой. куда вставить это код? в index.html? а смысл?
смотрите как тут car-rent.by/?123 - выдает 404, а у меня /?123 выдает ответ 200

Тогда зачем вам 301, если нужно отдать 404? Определитесь, нужно сделать редирект 301 на главную, или все таки отдать 404.

Попробуйте так


RewriteCond %{QUERY_STRING} .
RewriteRule ^ /404.html [R=404,L]

Вот такой вот вариант без htaccess ( если указаны гет параметры, то делаем редирект на страницу 404 ).


<script>
var query = window.location.search.substring(1);

if ( query != '' )
window.location.href = '/404';
</script>

Ну или укажите / за место /404, если хотите редирект на главную. Но к сожалению данный вариант не является редиректом 301.

Создаем index.php с текстом "Сайт временно недоступен". Удаляем все кроме index.php, заливаем новые кроме index.php. По завершению заменяем временный index.php на нормальный.

фавиконов им мало, давай символы какие не попадя в титул пихать :)

Всего: 296