Перенаправить URL-адрес, если значение ACF соответствует URL-адресу страницы - PullRequest
0 голосов
/ 06 ноября 2019

Я мог бы помочь с чем-то, чего я пытаюсь достичь. У нас есть пользовательский тип поста WordPress с вакансиями, и все эти вакансии имеют уникальный идентификатор, например «P563328-18». URL-адрес одной вакансии выглядит следующим образом:

https://example.com/vacancies/vacancie-title-p563328-18/

Идентификаторы вакансий хранятся в ACF (настраиваемое поле) 'vacancie_id', и я получил такой код, чтобы получить всеID вакансии:

<?php
$posts = get_posts(array(
    'numberposts' => -1,
    'post_type' => 'vacancies',
    'meta_key' => 'vacancie_id'
));

if($posts)
{
    foreach($posts as $post)
    {
        echo the_field('vacancie_id');
    }
}
?>

Я знаю, что это бесполезно для того, чего я хочу достичь, но тогда у вас есть идея.

Я хочу создать автоматическое перенаправление 301, когда кто-то пытаетсяпосетите этот URL: https://example.com/redirect/P563328-18

Сервер перенаправляет этот URL на вакансию с таким уникальным идентификатором, как: https://example.com/vacancies/vacancie-title-p563328-18/

Возможно ли что-то подобное, и кто-то может указать мне на правоКак мне этого добиться?

Спасибо!

РЕДАКТИРОВАТЬ

Ответ Тома заставил меня задуматься и первый URL, который нужно получитьредирект - 404.

Так что, в принципе, я хочу достичь этого, когда у 404 есть URL-адрес, подобный следующему: https://example.com/redirect/P563328-18

перенаправить его на вакансию, у которой есть слаг, который соответствуетP563328-18. https://example.com/vacancies/vacancie-title-p563328-18/

1 Ответ

0 голосов
/ 06 ноября 2019

Ваш первый URL действителен или генерирует его как 404?

Я на самом деле не фанат плагинов, но на некоторых моих страницах он неплохо работает для этой цели:

https://wordpress.org/plugins/wp-404-auto-redirect-to-similar-post/

Просто попробуйте, он найдет похожий пост и автоматически сгенерирует перенаправление 301 на этот пост.

Если ваш первый URL не генерирует 404, вы можете отказатьдоступ с помощью файла .htacess в каталоге / redirect /, например:

Deny from all
ErrorDocument 404 "/errors/404.html"

С уважением, Том

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...