Custom Post Type (PODs framework) – модификация slug 404 / Not found

Доброго дня,

использую фреймворк PODs для WP.
Создал несколько custom post types и связал их между собой.

Есть необходимость отразить эту связь в структуре ссылки (slug).
Пример: domain/custom-post1/custom-post2/post-title

 В связи с чем создал костюмную функцию, где реализовываю этот алгоритм:

<?php

function custom_post_slug ( $post_link, $post ) {

    /* Pulling the relation post slug */
    $quote_author = get_post_meta($post->ID, 'quote_author', true);
    $quote_author['post_name'];

    /* Condition for 'quote' post type */
    if ( 'quote' != $post->post_type || 'publish' != $post->post_status ) {
        return $post_link;
    }
    /* Modifying slug */
    $post_link = str_replace( '/' . $post->post_type . '/', '/' . $quote_author['post_name'] . '/' . $post->post_type . '/', $post_link );
    return $post_link;
}
add_filter( 'post_type_link', 'custom_post_slug', 10, 3 );

?>

Сама функция отрабатывает правильно, так как структура ссылки приобретает ожидаемую структуру. Проблем в том что страница поста отдает ошибку:
404 / not found

Что я упустил?

Спасибо

для вложенных записей надо указывать родительский пост. см. пункт post_parent:

https://wp-kama.ru/function/get_post

<?php
$my_post = array();
$my_post['ID'] = 37;
$my_post['post_parent'] = 100; // ID родительского поста
wp_update_post( wp_slash($my_post) );
?>

и потом использовать родную wp-функцию для получения ссылок:

<?php
$link = get_permalink( $post_id );
?>

Также можно попробовать изменить структуру ссылок, через настройки ссылок:

Settings Permalinks Screen

Спасибо, но я всеже не понял.

До ID-шек я достучался, тоесть я получаю ID текущего поста и ID связанного поста. Что дальше?

Если вам надо сделать струкруту устра вот такой:
domain/custom-post1/custom-post2/post-title

Тогда надо создать пост custom-post1

После создаем пост custom-post2 и задаем его значению post_parent ID родительского поста, в нашем случае ID custom-post1

Получаем урл через get_permalink(custom-post2-ID)

НО!. у меня есть вопрос, что значт “custom-post1” и “custom-post2”? Это должны быть ID постов или их заголовки?

По поводу вопроса “что значт “custom-post1” и “custom-post2”?”
– Это должны быть заголовки

ну тогда так и делайте:

– Создаете Пост 1.
– Создаете Пост 2
– Посту 2 назначете родительский пост – Пост 1
– через get_permalink( ID поста 2 ) получаете ссылку с вложеностью. она автоматически должна сформироваться

Настройки ссылок у вас должны быть как на изображении

– Настройки ссылок как на изображении – подтверждаю.
– Пост 1 и Пост 2 созданы
А как Посту 2 указать что его родитель Пост 1?

если через код или для постов, то смотреть комментарий по ссылке выше

если это страница, то можно зайти в редактирование страницы в админке и задать там. см изоображение:

Anonymous
Отправить
Ответ на: