Отображать сообщения CPT UI по ID - PullRequest
0 голосов
/ 07 февраля 2019

(извините за мой английский, я пытаюсь не использовать Google Translate ^^)

Итак ... Я создал "проекты" CPT UI, которые на самом деле содержат 2 сообщения (FMXD и Siemens), как выможно увидеть здесь:

SETS

Я хочу, чтобы при нажатии на FMXD у меня была первая страница, отображающая только post_thumbnail of FMXD.Вот так: thumbnail

Как видите, на моей странице отображаются FMXD и Siemens, и я не понимаю, почему ...

На самом деле, у меня естьsingle-projets.php:

<?php

/*
Template Name: Projets
Template Post Type: post, page, product, projets
*/

$context = Timber::get_context();

$posts = Timber::get_posts( array(
    'post_type' => 'projets',
    'posts_per_page' => -1,
    'orderby' => 'title',
    'order' => 'ASC',

) );

$context['posts'] = $posts;

Timber::render( [ 'single-projets.twig'], $context );
?>

и один-projets.twig:

    <div class="container-fluid">
        {% for post in posts  %}
            <div class="row">
                    <div class="imgProjets">
                        <img src="{{ post.thumbnail.src }}"  alt="">
                    </div>
                <div class=" offset-9 col-3 title">
                    <a href="{{ post.link }}">
                        {{ post.title }}
                    </a>
                </div>
            </div>
            <div class="row">
                <div class="offset-9 col-3">
                    {{ post.meta('clients') }}
                </div>
            </div>
            <div class="row">
                <div class="offset-9 col-3 bg-light text-dark">
                    See the projects
                </div>
            </div>
        {% endfor %}
    </div>

И после этого я хочу нажать «Посмотреть проект» и увидеть содержимое FMXD ИЛИ Siemens, а не оба.

Извинитебыл уволен долго, но мне действительно нужна твоя помощь, я действительно заблокирован ....

1 Ответ

0 голосов
/ 24 февраля 2019

Это тот код, который вам может потребоваться в archive-projets.php, но не в шаблоне для одиночного сообщения.

Эта часть:

$posts = Timber::get_posts( array(
    'post_type' => 'projets',
    'posts_per_page' => -1,
    'orderby' => 'title',
    'order' => 'ASC',

) );

$context['posts'] = $posts;

получает все projets сообщений и передает их представлению, которое будет отображаться в цикле.

Вы можете заменить всю эту часть на:

$context['post'] = new Timber\Post();

Вам не нуженЦикл в вашем представлении Twig вообще, так как визуализировать нужно только один пост.Так что просто удалите {% for post in posts %} и соответствующий {% endfor %}.

...