Я использую постоянные ссылки на мои сообщения в Wordpress. Мой постоянная ссылка /%category%/%postname%/
- так ссылки ссылаются на название категории. Моя проблема в том, что я использую некоторые категории для группировки своих сообщений. Например: признакам, рекомендации модераторов и т. Д. Я хочу, чтобы эти категории отображались в ссылках. Возможно ли это, и если да, то как это можно сделать?Постоянная ссылка на этот вопрос с категорией
ответ
add_filter('post_link', 'filter_permalink_categories', 10, 3);
function filter_permalink_categories($permalink, $post, $catname) {
if($post->filter == $catname) {
$permalink = str_replace($catname, '', $permalink);
}
return $permalink;
}
Это может быть не совсем то, что вам нужно, но должно дать вам представление о том, как фильтровать постоянные ссылки.
Кроме того, вы можете проверить фильтр category_link. Извините, Wordpress CODEX не работает heres the link though
Этот метод очищает категорию от моего url. Но я хочу изменить другую категорию сообщения. Является ли это возможным? –
Да, вам в основном нужно загрузить переменную '$ catname' с массивом или строкой категорий, которые вы хотите удалить, а затем исправить функцию' str_replace' соответственно. –
Вы также можете изменить название категории с помощью 'str_replace'. Подумайте, удаляете ли вы одну категорию с именем «sample», вы создаете $ catname = 'sample'. Если у вас есть более одной категории, вам нужно будет создать $ catname массив, а затем выполнить цикл с помощью 'str_replace' –
Я меняю другую категорию сообщений.
$disallow = array("category-slug-1", "category-slug-2");
function selectCategory($postID){
global $disallow;
$cats=wp_get_post_categories($postID);
foreach ($cats as $key => $value) {
$current = get_category($value);
if(!in_array($current->slug, $disallow)){
return $current->slug;
}
}
}
И заменить в Permalink с этим:
add_filter('post_link', 'filter_permalink_categories', 10, 3);
function filter_permalink_categories($permalink, $post, $catname) {
global $disallow;
foreach ($disallow as $key => $value) {
$permalink = str_replace($disallow, selectCategory($post->ID), $permalink);
}
return $permalink;
}
Пожалуйста, помните, сохранить настройки из приборной панели после того, как они Permalink.
хорошая работа;) @fatih –
Однако команда WordPress была совершенствует на этом, и теперь можно включать не только один, но несколько категорий внутри URL. В этом уроке мы покажем вам, как сделать это .
WordPress Permalinks with Multiple Categories
Или
function multiple_category_post_link($url = '')
{
// check permalink structure for the required construct; /%category%/%postname%/
if (strrpos(get_option('permalink_structure'), '%category%/%postname%') !== false)
{
// get the current post
global $post, $wp_query;
// prepare variables for use below
$post_id = $cat_id = 0;
$new_url = '';
// for categories
if (is_category())
{
// remember current category and post
$cat_id = get_query_var('cat');
$post_id = $post->ID;
// add the post slug to the current url
$new_url = $_SERVER['REQUEST_URI'] . $post->post_name;
}
// for single posts
else if (is_single())
{
// last part in the 'category_name' should be the slug for the current category
$cat_slug = array_pop(explode('/', get_query_var('category_name')));
$cat = get_category_by_slug($cat_slug);
// remember current category and post
$post_id = $wp_query->post->ID;
if ($cat) $cat_id = $cat->cat_ID;
// replace the slug of the post being viewed by the slug of $post
$new_url = str_replace('/' . get_query_var('name'), '', $_SERVER['REQUEST_URI']) . $post->post_name;
}
if ($post_id > 0 && $cat_id > 0 && !empty($new_url))
{
// make sure categories match!
foreach(get_the_category($post_id) as $cat)
{
if ($cat->cat_ID == $cat_id)
{
$url = $new_url;
break;
}
}
}
}
// always return an url!
return $url;
}
add_filter('post_link', 'multiple_category_post_link');
- 1. Постоянная ссылка переадресовать вопрос в WordPress
- 2. настройке Wordpress Постоянная ссылка
- 3. Постоянная ссылка на страницу?
- 4. Постоянная ссылка на указатель
- 5. Постоянная ссылка на Wordpress
- 6. Постоянная ссылка приходит от вводной
- 7. Постоянная ссылка с PHP
- 8. Постоянная ссылка с mod_rewrite
- 9. Постоянная ссылка
- 10. Постоянная ссылка
- 11. Wordpress + Custom таксономия + Постоянная ссылка
- 12. Facebook Постоянная ссылка: 0
- 13. Постоянная ссылка на Wordpress autopost
- 14. Постоянная ссылка на void * pointer
- 15. Постоянная ссылка на временный объект
- 16. Постоянная ссылка на ветку git
- 17. Постоянная ссылка на файл с html5
- 18. Wordpress Постоянная ссылка Перенаправление
- 19. Обновить Постоянная ссылка
- 20. Постоянная ссылка в конфликте
- 21. Постоянная ссылка не работает
- 22. Wordpress Постоянная ссылка
- 23. Постоянная ссылка WordPress Woocommerce
- 24. Wordpress Custom Постоянная ссылка
- 25. Постоянная ссылка admin-ajax.php
- 26. Facebook комментарии/постоянная ссылка
- 27. Постоянная ссылка на аудио файл (googleDrive)
- 28. Постоянная ссылка на все товары/коллекции
- 29. Wordpress Arabic Постоянная ссылка
- 30. Set Постоянная ссылка на сайт Wapka
Если вы используете категорию слизняка он уже должен показывать ... но это звучит, как вы используете какой-то тип файла шаблона для " группировать ваши сообщения ". Если бы вы могли предоставить этот код или начать там ... –
@TimHallman Мои сообщения имеют 2 или 3 категории. Я хочу исключить некоторые категории из постоянных ссылок. –
Хорошо, получилось ... возможно, нужно фильтровать постоянные ссылки. Я приведу ниже пример с примером. –