Шорткоды пользовательских типов записей

Вопрос или проблема

Я создаю пользовательский тип записи (features) в своей теме с помощью Advanced Custom Field. Я хочу знать, как я могу создать шорткод для моего пользовательского типа записи, чтобы я мог просто использовать шорткод этого пользовательского типа записи на любой странице для отображения информации, которую я добавил в свой пользовательский тип записи (features).

Для шорткода вы можете использовать функцию add_shortcode в файле functions.php вашей темы WordPress.

function shortcode_video_slider()
{
    ?>
<div class="cr-carousel">
    <?php
    $loop = new WP_Query( array( 'post_type' => 'video_slider') ); // Замените video_slider на имя вашей пользовательской записи.
    if ( $loop->have_posts() ) :
        while ( $loop->have_posts() ) : $loop->the_post(); ?>

                <div>
                <?php if ( has_post_thumbnail() ) { ?>
                    <div class="pimage">
                        <a href="https://wordpress.stackexchange.com/questions/345811/<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
                    </div>
                <?php } ?>
                    <div class="cr-slider-content">
                <div class="ptitle">
                    <?php
                    $terms = get_the_terms( get_the_ID() , 'video_slider_tex' );
                    // Проходим по каждому элементу, так как это массив
                    if ( $terms != null ){
                    foreach( $terms as $term ) {
                    ?>
                    <h2><a href="https://wordpress.stackexchange.com/questions/345811/<?php the_permalink(); ?>"><?php echo $term->name; ?></a></h2>
                    <?php
                    unset($term); } }?>
                </div>
                <div class="cr-video-link">
                <?php 
                    $cr_video_link = get_post_meta( get_the_ID(), 'video_link', true );
                    echo '<a target="_blank" href="' . $cr_video_link . '" class="wplightbox" title="WordPress Carousel Plugin" data-width="1024" data-height="576">YouTube Lightbox</a>';
                ?>
                </div>
                <div class="cr-video-cat">
                    <div class="cr-slide-category"><span> Для</span> <a href="https://wordpress.stackexchange.com/questions/345811/<?php the_permalink(); ?>"><?php echo get_the_title(); ?></a></div>
                </div>
                    </div>
                </div>

        <?php endwhile;
        if (  $loop->max_num_pages > 1 ) : ?>
            <div id="nav-below" class="navigation">
                <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Предыдущий', 'domain' ) ); ?></div>
                <div class="nav-next"><?php previous_posts_link( __( 'Следующий <span class="meta-nav">&rarr;</span>', 'domain' ) ); ?></div>
            </div>
        <?php endif;
    endif;
    wp_reset_postdata();
    ?>
    </div>
<?php
}
add_shortcode('custom_video_slider','shortcode_video_slider');

Теперь вы можете использовать [custom_video_slider] где угодно, чтобы отобразить записи.

Ответ или решение

Как создать шорткоды для пользовательского типа записей в WordPress

Создание шорткодов для пользовательских типов записей в WordPress предоставляет возможность легко интегрировать динамический контент на страницы и в записи вашего сайта. В этом руководстве я расскажу, как создать шорткод для вашего пользовательского типа записей «функции» (features), который вы добавили с помощью плагина Advanced Custom Fields (ACF).

Шаг 1: Определение пользовательского типа записи

Прежде всего, убедитесь, что вы создали свой пользовательский тип записи (CPT) «features». Предполагается, что вы уже настроили этот тип записи и добавили к нему необходимые мета-поля с помощью ACF.

Шаг 2: Написание функции шорткода

Для создания шорткода мы используем функцию add_shortcode, которую нужно определить в файле functions.php вашей темы. Ниже приведен пример кода, который вы можете использовать для создания шорткода, отображающего ваш пользовательский тип записи «features».

function shortcode_features_display() {
    ob_start(); // Начинаем буферизацию вывода
    ?>
    <div class="features-list">
        <?php
        $query_args = array(
            'post_type' => 'features', // Укажите свой пользовательский тип записи
            'posts_per_page' => -1, // Количество записей, установите -1 для отображения всех
        );
        $loop = new WP_Query($query_args);

        if ($loop->have_posts()) :
            while ($loop->have_posts()) : $loop->the_post(); ?>
                <div class="feature-item">
                    <?php if (has_post_thumbnail()) : ?>
                        <div class="feature-image">
                            <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
                        </div>
                    <?php endif; ?>
                    <div class="feature-content">
                        <h2><?php the_title(); ?></h2>
                        <div class="feature-description"><?php the_content(); ?></div>
                        <?php
                        // Получаем мета-данные, добавленные с помощью ACF
                        $custom_field_value = get_field('your_custom_field_name'); // Замените на имя вашего поля
                        if ($custom_field_value) : ?>
                            <div class="feature-meta"><?php echo esc_html($custom_field_value); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
            <?php endwhile;
        else :
            echo '<p>Нет доступных функций.</p>';
        endif;

        wp_reset_postdata(); // Сбрасываем посты
        ?>
    </div>
    <?php
    return ob_get_clean(); // Возвращаем буферизированный вывод
}

add_shortcode('features_display', 'shortcode_features_display');

Шаг 3: Использование шорткода на странице

Теперь, когда шорткод создан, вы можете использовать его в любом месте вашего сайта: вставьте [features_display] в контент записи или страницы. Это будет отображать все ваши записи из пользовательского типа «features», включая их изображения, заголовки и содержимое.

Заключение

Создание шорткодов для пользовательских типов записей – это мощный способ повысить гибкость и функциональность вашего сайта WordPress. Используя вышеописанные шаги, вы сможете легко интегрировать динамический контент без необходимости в глубоком техническом знании.

Дополнительные советы по SEO

  1. Оптимизируйте заголовки и мета-описания: Используйте ключевые слова, связанные с вашим контентом, чтобы улучшить видимость в поисковых системах.
  2. Соблюдайте структуру URL: Убедитесь, что ссылки на ваши пользовательские типы записей используют «человекочитаемые» форматы.
  3. Используйте дополнительные плагины: Рассмотрите возможность использования SEO-плагинов, таких как Yoast SEO, для улучшения общей видимости вашего сайта.

Создание эффективного и краткого контента с помощью шорткодов значительно упрощает управление вашим веб-сайтом, повышая его функциональность и привлекательность.

Оцените материал
Добавить комментарий

Капча загружается...