Intereting Posts
некоторые настройки для загружаемого графического кода Может быть конфликт пространства имен (?) С формой входа и формой регистрации на той же странице Регистрация WordPress без wp-login.php и wp-admin, возможно ли это? Можно ли добавить ключ аутентификации для WP REST API в конфигурацию? WordPress и WebRTC? Как программно изменить тему из внешнего приложения? Как использовать функцию get_posts () в functions.php Использование разбиения на паутину на single.php Получение текущего идентификатора сообщения в functions.php Как я могу получить 5 последних сообщений о записи с соответствующей ссылкой? Как написать новый файл, когда новое сообщение было опубликовано в WordPress Как остановить продолжение сообщений во втором цикле с того места, где первый закончился Получить список сообщений по определенной категории Как добавить параметры для настраиваемого типа сообщений Сохранить скидку Woocomerce в процентах к базе данных

есть ли лучший способ объединить это?

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

Я работаю на своем веб-сайте и хочу отобразить в общей сложности 5 сообщений из категории «Общие недоумения».

Первое сообщение имеет разные стили с другого 4. Пожалуйста, см. Код ниже,

Теперь, 2 проблемы … они так, как я написал, это означает, что есть дубликат сообщения, а во-вторых – наверняка есть лучший способ объединить это в одно, а не то, как я его написал?

Любая помощь будет принята с благодарностью.

спасибо

<div class="columns"> <?php $args = array( 'category_name' => 'General Wonderings', 'posts_per_page' => 1 ); $lastposts = get_posts( $args ); foreach($lastposts as $post) : setup_postdata($post); ?> <article> <h3><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></h3> <h4> <?php the_date(); ?> </h4> <p> <?php the_excerpt(); ?> </p> <p><a href="<?php the_permalink(); ?>">Read more</a></p> </article> <?php endforeach; ?> </div> <div class="columns"> <?php $args = array( 'category_name' => 'General Wonderings', 'posts_per_page' => 4 ); $lastposts = get_posts( $args ); foreach($lastposts as $post) : setup_postdata($post); ?> <article> <h4><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> <br/> <span><?php echo substr($post->post_excerpt, 0,30); ?>...<br/> <?php the_date(); ?> </span></a></h4> </article> <?php endforeach; ?> </div> 

Solutions Collecting From Web of "есть ли лучший способ объединить это?"

Используйте offset=1 чтобы исключить первое сообщение.

 $args = array( 'category_name' => 'General Wonderings', 'posts_per_page' => 4, 'offset' => 1 ); 

Я бы больше беспокоился о производительности, чем сжатый код, хотя немного сократил его. Сейчас вы выполняете два запроса. Это не обязательно, и это самая большая проблема с этим кодом, на мой взгляд.

 $args = array( 'category_name' => 'General Wonderings', 'posts_per_page' => 5 ); $lastposts = get_posts( $args ); $first = true; ?> <div class="columns"><?php foreach($lastposts as $post) { setup_postdata($post); ?> <article><?php if ($first) { ?> <h3><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></h3> <h4> <?php the_date(); ?> </h4> <p> <?php the_excerpt(); ?> </p> <p><a href="<?php the_permalink(); ?>">Read more</a></p> </div><div class="columns"><?php // close the first div and open the second $first = false; } else { ?> <h4><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> <br/> <span><?php echo substr($post->post_excerpt, 0,30); ?>...<br/> <?php the_date(); ?> </span></a> </h4><?php } ?> </article><?php } ?> </div> 

Надеюсь, я сохранил форматирование и не имею никаких синтаксических ошибок 🙂