Поддержка Проблемы и решения Рубрики/Метки

  • Если не сложно — объясните кто-нибудь почему когда создаешь одинаковые рубрику и метку латинскими буквами — то им присваивается одинаковый ярлык, а если кириллическими — то метке (или рубрике, не пробовал, возможно от очередности создания зависит), добавляются символы «-2»?
    Столкнулся с тем, что поменяв название метки (латинскими буквами) — меняетмя и название рубрики и наоборот, а этого хотелось бы избежать. (Понимаю, что можно просто видоизменить ярлык и не будет проблем, но хочется сделать красивые ссылки).

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • добавляются символы «-2»

    Это происходит, если такой слаг уже есть. И не важно как он был создан.

    Важно! Удаление в корзину не является полным удалением.

    Вы вопрос читали??? Что-то складывается в последнее время чувство, что людям главное ответить и не важно что и на какой вопрос…

    Попробовал, у меня двойки не добавилось
    http://trueimages.ru/img/b2/2b/0eb7ebd5717b29cb59722d850e9.png
    test/test и тест/тест вписывал сам слаг, пример/пример не вписывал
    ===
    Чистая установка 3.4.1

    Поправка: для уникализации слагов для таксономий используется эта функция http://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php#L2218
    Если иерархия, то она цепляет родительский слаг к указанному (строка 2255)
    $slug .= '-' . $parent_term->slug;
    http://trueimages.ru/img/79/11/71e3e441b7f45c6f20ca34482b3.png
    Если не иерархия, то работает этот участок (строка 2274) добавляет цифру
    $alt_slug = $slug . "-$num";
    (почему-то я не смог повторить эту ситуацию, скрина нет 🙂
    UPD
    Цифра добавляется в тот момент, когда заканчиваются родительские слаги
    http://trueimages.ru/img/4d/80/df0991b8e0e0316e0e2ac23c8bf.png
    —-
    Также проверяются слаги для постов (строка 2899)
    http://core.trac.wordpress.org/browser/trunk/wp-includes/post.php#L2836
    =====
    Так что, wp-user.php прав
    =====
    UPD И как я понимаю, попросили добавить фильтр для таксономий http://core.trac.wordpress.org/ticket/20783
    оффтоп => что будет бесконечно долго 😉

    Atrax

    (@atrax)

    Ethical engineer

    Вопрос, насколько я понял, заключается все-таки в том, если ли решение, позволяющее менять названия и ярлыки порознь друг от друга?

    Вы вопрос читали???

    Более того, я эту «проблему» уже года 2 как «лечу» юзерам на др. (спец.) форуме.
    Но Ваше дело, слушать меня или нет. Только скажите, и персонально Вам я отвечать не буду.

    Возмжно я что-то не своими именами называю, но:

    Вот скрин меток с их ярлыками: http://s2.ipicture.ru/uploads/20120813/CZXhKLX0.png

    Вот такие же рубрики с ярлыками: (извиняюсь что 2 скрина, нет возможности склеить) http://s2.ipicture.ru/uploads/20120813/t6lJpvXq.png
    http://s2.ipicture.ru/uploads/20120813/1zaIJ9hT.png

    По скринам видно, что для рубрики и метки WordPress — ярлык одинаков и при этом, если я меняю метку, делаю название, например «#WordPress» а ярлык оставляю, то название рубрики тоже меняется и наоборот. С кириллическими ярлыками вообще такой штуки не получается, т.к. на русском не дает создать одинаковый ярлык метки и рубрики путем добавления символа. Суть вопроса — почему при латинском написании возможен одинаковый ярлык ,а кириллическом — нет. И почему изменяется название рубрики при изменении названия метки.

    Это происходит, если такой слаг уже есть.

    — логично, но вот по скринам выше видно, что бывает и не добавляется.

    Суть вопроса — почему при латинском написании возможен одинаковый ярлык ,а кириллическом — нет.

    Попробовал, даже при латинском алфавите добавляет двоечку
    http://trueimages.ru/img/eb/d4/fbe1e35813566c41c96c35128f6.png
    Но также подтверждаю, что при добавлении символа к метке (или к категории), например было test (и метка, и категория) и добавляем один символ (например в метках) — testS, то в категориях тоже меняется (Зачем?? :)), от языка не зависит, у меня и на русском и на латинском одинаковый эффект.

    Так-так… Насколько я понимаю у нас тут есть 2 проблемы.
    1. Добавление цифровых суффиксов к слагам (-2 и тд)
    2. Самопроизвольное изменение имен рубрик-меток при переименовании одинаковых имен (сори за тафтологию) в одной из сущностей.

    По первой всё логично и понятно — не может быть 2-х одинаковых слагов одной сущности (у конце-концов от них формируется УРЛ).

    А вот второе.. Только что у себя потестил. Подтверждаю — баг имеет место быть.

    АПД. Проблема не только с именами, но и со слагами (при изменении одного слага — меняется и второй)

    АПД2. Замечено, что при добавлении одинаковых названий им присваивается одинаковый ИД-шник (tag_ID). Отсюда и проблема.

    АПД3.
    Выход — вначале называть «неправильным» названием, а потом переименовывать. Тогда присвоится новый ИД и не будет связи метки с рубрикой.

    АПД4. С АПД3 не всё так гладко. См ниже по топику 😉

    Модератор Yuri

    (@yube)

    А вот второе..

    cyr-X-lat?

    cyr-X-lat?

    Имеет место быть 😉 cyr3lat v 3.3

    АПД. Но он рояли не играет. Со всеми отключёнными плагами баг присутствует (присвоение одинакового ИДшника)

    Да, раньше не обращал внимания, но теперь заметно
    http://trueimages.ru/img/fd/94/3c277254e970e1d2f49fcf37239.png
    К разным таксономиям, то бишь сущностям, он цепляет одинаковый term_id, для более легкой конвертации что-ль?
    Из-за этого весь шум ))
    Но! Если создать, например категорию cat и метку cats, а потом попробовать переименовать что-либо, то получаем ошибку (строка 2382)
    http://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php#L2285

    cyr-X-lat?

    Юрий, чистая установка )

    Если создать, например категорию cat и метку cats, а потом попробовать переименовать что-либо, то получаем ошибку (строка 2382)

    У меня:
    Если при переименовании «неправильного» названия метки вручную менять слаг (на такой же, как в рубрике), то появляется месседж: «такой слаг уже существует». Если очистить поле, то слаг генерится с суффиксом (-2)

    ИДшки таксономий разные.

    Если изменить строку (2059), то работать начинает более логично http://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php#L2059
    if ( $term_id = term_exists($slug) ) {
    на
    if ( $term_id == term_exists($slug) ) {
    Выдает уникальный term_id и при совпадении слагов добавляет -2, -3 итд..
    UPD
    http://trueimages.ru/img/ad/24/98ca3d6a0863a4d3bdf33d6537e.png
    http://trueimages.ru/img/eb/cc/db0e5e4d9b76be5b962ff3ac86d.png

    только, если это не на булев проверка 😉

    Модератор Yuri

    (@yube)

    Давненько я не копал в этом месте 🙂
    Как-то со слагами категорий не совсем понятно.

    philips		philips
    	— TV	tv
    samsung		samsung
    	— TV	tv-samsung

    Почему бы для «samsung/tv» не породить просто еще одну таксономию, использовав существующий терм TV, как это происходит с одноименной меткой?

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Рубрики/Метки» закрыта для новых ответов.