Многоуровневые постоянные ссылки для пользовательских типов сообщений с использованием значений полей ACFPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Многоуровневые постоянные ссылки для пользовательских типов сообщений с использованием значений полей ACF

Сообщение Anonymous »

У меня есть клиентский сайт с несколькими настраиваемыми типами публикаций — регион, округ, город, сообщество. Я хочу настроить для них динамически генерируемые структуры постоянных ссылок следующим образом:
/[регион]
/[регион]/[округ]
/[регион]/[округ]/[город]
/[регион]/[округ]/[город]/[сообщество]
Я добавил фильтр для post_type_link и передаю функцию, обновляющую постоянные ссылки:

Код: Выделить всё

add_filter('post_type_link', array(&$this, 'rewriteCPTpermalinks'), 10, 2);

/**
* Rewrite Custom Post Type Permalinks
*
* @return void
*/
public function rewriteCPTpermalinks( $url, $post ){
global $wp_rewrite;

if ($post->post_type === 'counties') {
$regionObject = get_field('region', $post->ID );
// $url = get_the_permalink($regionObject->ID).$post->post_name;
$url = str_replace( '%region%', get_the_permalink($regionObject->ID), $url );
}
if ($post->post_type == 'cities') {
$countyObject = get_field('county', $post->ID);
$regionObject = get_field('region', $countyObject->ID );
$url = get_the_permalink($regionObject->ID).$countyObject->post_name.'/'.$post->post_name;
}
if ($post->post_type == 'communities') {
$cityObject = get_field('city_post', $post->ID);
$countyObject = get_field('county', $cityObject->ID);
$regionObject = get_field( 'region', $countyObject->ID );
$url = $regionObject->post_name.$countyObject->post_name.'/'.$cityObject->post_name.'/'.$post->post_name;
}

return $url;

}
Постоянные ссылки обновляются, но я получаю страницу 404 для всех сообщений. Я сохранил постоянные ссылки в «Настройки» > «Постоянные ссылки» и попробовалlush_rewrite_rules(), но, похоже, они не работают.
Ключом к этому является то, чтобы все работало автоматически, без необходимости выбора. из пользовательской таксономии для каждого сообщения.
Я не уверен, что использую здесь правильный подход, но буду признателен за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/724 ... eld-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»