Wordpress: Как мне преобразовать сгенерированный URL (постоянная ссылка) в симпатичный URL? - PullRequest
4 голосов
/ 20 марта 2010

В плагине я создаю постраничную ссылку на категорию,то есть <a href="http://localhost/?cat=17&paged=5" rel="nofollow noreferrer">http://localhost/?cat=17&paged=5</a>.Категория известна по slug и id.

Можно ли преобразовать этот URL-адрес в определенный пользователем формат "nice permalink",то есть <a href="http://localhost/category/foo/page/5" rel="nofollow noreferrer">http://localhost/category/foo/page/5</a>?

(при условии, что мы работаем с Wordpress 2.8 / 2.9 +)

Редактировать: Поскольку существуют некоторые недоразумения относительно того, чего я пытаюсь достичьвот что у меня есть:

  • Идентификатор категории
  • Номер страницы (т. е. пятая страница архива этой категории)

С этими данными яможет создать URL для этой страницы, например, http://localhost/?cat=17&paged=5, и это хорошо работает.Проблема носит визуальный характер: если у пользователя включены постоянные ссылки, это не очень хорошо вписывается.Вопрос: Как я могу получить правильную, довольно постоянную ссылку (т.е. <a href="http://localhost/category/foo/page/5" rel="nofollow noreferrer">http://localhost/category/foo/page/5</a>) из (или для) имеющейся у меня информации?

Редактировать 2: Очевидно, если у пользователя есть довольно постоянные ссылки отключено , то нет никаких постоянных ссылок.Я знаю это, и это действительно не предмет вопроса ... На данный момент, давайте просто предположим, что у пользователя есть произвольная настройка постоянной ссылки.Я создаю ссылку, и она должна выглядеть так, как этого хочет пользователь.

Ответы [ 6 ]

1 голос
/ 22 марта 2010

Вы смотрели на WP_Rewrite ?

0 голосов
/ 15 октября 2014

Правильный способ создания ссылки - использовать get_category_link и add_query_arg

В вашем примере будет работать следующее:

$category_link = add_query_arg( array('paged' => 5), get_category_link($category->term_id));

При этом будет сгенерирован URL, а Wordpress перенаправит на нужную страницу.

0 голосов
/ 15 мая 2010

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

Вы можете получить идентификатор категории, а затем использовать функцию get_category_link(), чтобы получить «симпатичную» постоянную ссылку. Затем добавьте нумерацию страниц в конец.

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

Это то, что вы искали?

0 голосов
/ 02 мая 2010

проверьте эту страницу, она довольно неплохо объясняет постоянные ссылки. http://codex.wordpress.org/Using_Permalinks

Вы должны найти эти настройки в

Wordpress-> Настройки-> Permalinks

Я думаю

/% Категория% /% postname%

в направлении, которое вы хотите

Вы также можете попытаться перенаправить ваш URL с помощью htaccess, вот несколько примеров:

[http://]perishablepress.com/press/2008/02/06/permalink-evolution-customize-and-optimize-your-dated-wordpress-permalinks/

Извините, darf bis jetzt nur ein link

С уважением, Mahatmanich

0 голосов
/ 23 марта 2010

Моя установка Wordpress (2.9.2) делает это автоматически - канонические URL-адреса были встроены в Wordpress в течение некоторого времени.Может быть, ваш плагин отключает эту функцию ?

0 голосов
/ 22 марта 2010

Соответствует ли все в одном SEO вашим требованиям? Я на самом деле купил «про» версию примерно за 30 долларов США, и она того стоила.

...