У меня есть 3 настраиваемых типа записей, и я создал собственную структуру постоянных ссылок для каждого.Проблема, с которой я сталкиваюсь, заключается в том, что третий настраиваемый тип записи, который я настроил с помощью постоянной ссылки, используется для предыдущих 2.
Пример:
- Классифицировано
- Занятость
- Спонсорство
Выше приведены типы сообщений, и для меня настроена постоянная структура постоянных ссылок (для каждого): / post_type / post_id /
Теперь вышеприведенный порядок - это порядок, в котором они установлены, и спонсорство берет на себя все из них.Например:
/classified/100/
/employment/101/
/sponsorship/102/
Все вышеизложенное использует постоянную ссылку:
/sponsorship/100/
/sponsorship/101/
/sponsorship/102/
Что я делаю неправильно, чтобы эта ошибка произошла?Это ошибка структуры постоянной ссылки?ниже приведен мой код, который я использую для создания пользовательских структур постоянных ссылок для каждого из них.Единственное отличие состоит в том, что% c_id% изменяется на% e_id% и% s_id% для объявлений, занятости и спонсорства.А также любая ссылка на «объявления» меняется на занятость и спонсорство соответственно.
add_action('init', 'classifieds_rewrite');
function classifieds_rewrite() {
global $wp_rewrite;
$queryarg = 'post_type=classifieds&p=';
$wp_rewrite->add_rewrite_tag('%c_id%', '([^/]+)', $queryarg);
$wp_rewrite->add_permastruct('classifieds', '/classifieds/%c_id%/', false);
}
add_filter('post_type_link', 'classifieds_permalink', 1, 3);
function classifieds_permalink($post_link, $id = 0) {
global $wp_rewrite;
$post = &get_post($id);
if ( is_wp_error( $post ) )
return $post;
$newlink = $wp_rewrite->get_extra_permastruct('classifieds');
$newlink = str_replace("%c_id%", $post->ID, $newlink);
$newlink = home_url(user_trailingslashit($newlink));
return $newlink;
}
Спасибо за помощь!:)