Поддержка Проблемы и решения Можно ли изменить названия форматов постов?

  • Сейчас для вывода записей одного формата используется адрес имя_сайта/type/post_format. Подробнее об этом здесь http://codex.wordpress.org/Post_Formats

    В общем-то интересует изменение не столько названия, сколько префикса форматов и сами форматы в адресной строке. Т.е. заменить префикс type на другое значение и сами названия форматов

Просмотр 15 ответов — с 1 по 15 (всего 15)
  • никто таким вопросом не занимался?

    Очень прошу помочь!

    префикса форматов и сами форматы в адресной строке

    Форматы постов не имеют никого отношения к формированию ЧПУ. Это всего лишь дизайн.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Встроенные в ядро форматы записей простому изменению не поддаются, поскольку именно для стандартизации они и были созданы:
    http://nacin.com/2011/01/27/on-standardized-post-formats/

    С другой стороны, это просто таксономия. Если вам нужно что-то похожее на стандартные форматы записей, но немного другое, разработчики рекомендуют создать собственную таксономию и использовать её:
    http://codex.wordpress.org/Function_Reference/register_taxonomy

    Собственно, у меня сайт в домене рф и задача стоит, что бы все адреса были на русском языке. Как добиться этого с форматами постов, я пока не могу понять.

    Модератор Yuri

    (@yube)

    что бы все адреса были на русском языке. Как добиться этого с форматами постов,

    Форматы записей на url не влияют. Вы что-то не то спрашиваете.

    есть формат постов — Видео. адрес у всех записей формата Видео -имя_сайта/type/video/
    есть формат постов — Изображения, у них адрес имя_сайта/type/image/

    Модератор Yuri

    (@yube)

    вы мне адрес поста показываете. тип поста изображение, верно. а теперь выведите все посты этого типа. это можно сделать если нажать ссылку ИЗОБРАЖЕНИЕ под названием поста

    Модератор Yuri

    (@yube)

    ОМГ куда Вас занесло. Сдаюсь. Первый раз увидел, что еще и такая ссылка есть. Уверен на 99.9%, что в предыдущих «стандартных» Темах такой ссылки не было.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Уверен на 99.9%, что в предыдущих «стандартных» Темах такой ссылки не было.

    В Twenty Ten, как оказалось, была, но только для галерей:
    https://themes.trac.wordpress.org/browser/twentyten/1.6/loop.php#L91

    Функция get_post_format_link() появилась вместе с самими форматами в 3.1:
    https://core.trac.wordpress.org/browser/tags/3.8.1/src/wp-includes/post-formats.php#L138

    Модератор Yuri

    (@yube)

    То есть, получается, что post_format — еще одна внутренняя таксономия. Если так, то, наверно, ей и префикс можно поменять, как у рубрики или метки. Надо копнуть.

    p.s. Я один раз попробовал поиграться с форматами, но быстро остыл, когда не нашел способа сделать кастомные форматы.

    Модератор Yuri

    (@yube)

    Вот такой кривой костыль сработал

    add_filter('init','my_post_format_rewrite');
    function my_post_format_rewrite() {
    	global $wp_rewrite;
    	$wp_rewrite->extra_permastructs['post_format']['struct'] =  '/%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82/%post_format%';
    	$wp_rewrite->flush_rules();
    }

    ссылка выглядит как /формат/image/

    А без костылей никак не сделаешь?
    И все таки не понятно, как переименовать сами форматы, т.е. что бы было не /формат/image/, а /формат/изображения/

    А без костылей никак не сделаешь?
    И все таки не понятно, как переименовать сами форматы, т.е. что бы было не /формат/image/, а /формат/изображения/

    А может проще кастомными типами сделать?

    Но если кто из гуру предложит вариант с форматами — тоже с удовольствием послушаю. Для меня тоже неожиданность, что форматы могут иметь свои адреса.
    Если в будущих версия это разовьётся до удобного управления, то в некоторых случаях это может служит заменой кастомным типам. Хотя.. мб из-за этого и путаница возникнуть 🙂

Просмотр 15 ответов — с 1 по 15 (всего 15)
  • Тема «Можно ли изменить названия форматов постов?» закрыта для новых ответов.