Как в WordPress использовать данные из базы данных в URL записи?

Как можно вывести альтернативный id записи в URL в формате id_id-title, имея его хранение в добавленном поле id_id таблицы wp_posts?
  • 21 апреля 2024 г. 2:00
Ответы на вопрос 2
Для использования данных из базы данных в URL записи в WordPress, можно воспользоваться фильтром 'post_type_link'. В данном случае, чтобы вывести альтернативный id записи в формате id_id-title, можно создать функцию, которая будет изменять URL записи в соответствии с заданным форматом. 

Пример функции для изменения URL записи:

```php
function custom_post_type_link( $post_link, $post, $leavename, $sample ) {
    if ( 'post' == $post->post_type ) {
        $new_link = trailingslashit( get_home_url('/') . $post->ID . '_' . $post->post_name );
        return $new_link;
    }
    return $post_link;
}
add_filter( 'post_type_link', 'custom_post_type_link', 10, 4 );
```

В данном примере функция изменяет URL записи типа 'post', добавляя к id записи и названию записи разделитель "_" и возвращая измененный URL. Таким образом, при обращении к записи на сайте, URL будет иметь формат id_id-title.

Для использования данных из добавленного поля id_id таблицы wp_posts, необходимо сначала получить значение этого поля для конкретной записи и затем использовать его при формировании URL. Например, для получения значения поля id_id для текущей записи можно использовать следующий код:

```php
$id_id = get_post_meta( get_the_ID(), 'id_id', true );
```

После получения значения поля id_id, его можно использовать в функции custom_post_type_link для формирования URL записи.
Вы скажите какие варианты попробовали то 

Вам надо сделать rewrite
Похожие вопросы