Методы рендеринга контента с другой страницы в WordPress

Чтобы отобразить контент с другой страницы в WordPress, вы можете использовать несколько методов. Вот несколько примеров с фрагментами кода:

Метод 1: использование API шорткодов WordPress
Вы можете создать собственный шорткод в WordPress для получения и отображения контента с другой страницы. Вот пример:

// Add this code to your theme's functions.php file or a custom plugin
function render_content_shortcode($atts) {
    $page_id = $atts['id']; // ID of the page to render content from
    $page = get_post($page_id); // Get the page object
    if ($page) {
        // Render the content
        $content = apply_filters('the_content', $page->post_content);
        return $content;
    }
    return ''; // Page not found
}
add_shortcode('render_content', 'render_content_shortcode');

Чтобы использовать этот короткий код, вы можете просто добавить [render_content id="123"]к любому сообщению или странице, где 123— это идентификатор страницы, с которой вы хотите отображать контент.

Метод 2: использование WordPress REST API
Если вы хотите программно получить контент с другой страницы, вы можете использовать WordPress REST API. Вот пример использования функции wp_remote_get:

// Fetch content from a different page using the REST API
$response = wp_remote_get('https://your-site.com/wp-json/wp/v2/pages/123');
if (!is_wp_error($response) && $response['response']['code'] === 200) {
    $content = wp_remote_retrieve_body($response); // Get the response body
    // Render the content
    echo apply_filters('the_content', $content);
}

Замените https://your-site.comна URL-адрес вашего веб-сайта и 123на идентификатор страницы, с которой вы хотите получить контент.

Метод 3: использование функции get_template_part.
Если вы хотите включить файл шаблона с другой страницы, вы можете использовать функцию get_template_part. Вот пример:

// Include template file from a different page
get_template_part('path/to/template', 'name');

Замените 'path/to/template'относительным путем к файлу шаблона, который вы хотите включить, и 'name'именем файла шаблона (без расширения файла). Этот метод позволяет повторно использовать файлы шаблонов на разных страницах.