Seoplus 33 Posted April 9, 2015 Report Share Posted April 9, 2015 Всем привет. На одном сайте, сделанном на Wordpress, увидел решение по размещению новостей на главной странице в виде как на картинке ниже. Думаю, что такое решение сделано с использованием плагина, только вот какой это плагин? Может кто подсказать? Необходимо, чтобы на главной странице в блоке отображались новости из одной категории, причем новая новость должна отображаться слева с картинкой, а следующие после новой новости из этой же категории в количестве 5 отображались справа, но без картинок, только названия новостей. Таких блоков должно быть штук 5-10 в зависимости от категорий. Все блоки должны отображать статьи только из своей категории. Возможно ли такое решение сделать без применения плагина? Какой код нужно написать? Quote Link to post Share on other sites
Epol 3 Posted April 9, 2015 Report Share Posted April 9, 2015 Судя по скрину, это не плагин, а тема вордпресс Unspoken, автор wpshower не знаю есть её демка или нет на сайте автора, пример сайта на этой теме deglon. Тема старая в паблике можно найти легко. Quote Link to post Share on other sites
saskozp 205 Posted April 9, 2015 Report Share Posted April 9, 2015 что там делать плагином? )) кодом легко реализуется, если знать конечно ) Quote Link to post Share on other sites
VIP campusboy 912 Posted April 9, 2015 VIP Report Share Posted April 9, 2015 В functions.php <?php /* Добавление поддержку миниатюр */ add_theme_support('post-thumbnails'); ?> В добавлении статьи Пример вывода картинки такой в шаблоне: <div class="eImg"><?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } else {?><img width="228" height="226" src="<?php bloginfo('template_directory'); ?>/img/noimg.jpg"> <? } ?></div> Seoplus 1 Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 что там делать плагином? )) кодом легко реализуется, если знать конечно ) Если это так легко, написали бы как это сделать. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 В functions.php <?php /* Добавление поддержку миниатюр */ add_theme_support('post-thumbnails'); ?> В добавлении статьи Пример вывода картинки такой в шаблоне: <div class="eImg"><?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } else {?><img width="228" height="226" src="<?php bloginfo('template_directory'); ?>/img/noimg.jpg"> <? } ?></div> Попробую это реализовать. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 Попробую это реализовать. Вот что у меня получилось после вставки кода: А как сделать, чтобы первая (то есть самая новая) новость была с картинкой, а остальные - без картинок, только список? Quote Link to post Share on other sites
VIP campusboy 912 Posted April 10, 2015 VIP Report Share Posted April 10, 2015 Вот что у меня получилось после вставки кода: 4.png А как сделать, чтобы первая (то есть самая новая) новость была с картинкой, а остальные - без картинок, только список? <?php $cnt_post = 1; #Эту переменную объявляем перед циклом foreach или while (в зависимости каким выводятся статьи) if ($cnt_post == 1) { ?> <div class="eImg"><?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } else {?><img width="228" height="226" src="<?php bloginfo('template_directory'); ?>/img/noimg.jpg"> <? } ?></div> <?php } else { ?> <!-- Вывод названия статьи ссылкой --> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <!-- Вывод цитаты, если есть, или текста до тега "more" --> <?php if ( get_the_excerpt() ) { the_excerpt(); } else { the_content(); } } $cnt_post++; ?> Seoplus 1 Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 <?php $cnt_post = 1; #Эту переменную объявляем перед циклом foreach или while (в зависимости каким выводятся статьи) if ($cnt_post == 1) { ?> <div class="eImg"><?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } else {?><img width="228" height="226" src="<?php bloginfo('template_directory'); ?>/img/noimg.jpg"> <? } ?></div> <?php } else { ?> <!-- Вывод названия статьи ссылкой --> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <!-- Вывод цитаты, если есть, или текста до тега "more" --> <?php if ( get_the_excerpt() ) { the_excerpt(); } else { the_content(); } } $cnt_post++; ?> ок, сейчас попробую вставить, насколько я понимаю этот код вставляем в тот пхп файл, в данном случае индекс.пхп, в то место, в котором будут отображаться статьи. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 <?php $cnt_post = 1; #Эту переменную объявляем перед циклом foreach или while (в зависимости каким выводятся статьи) if ($cnt_post == 1) { ?> <div class="eImg"><?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } else {?><img width="228" height="226" src="<?php bloginfo('template_directory'); ?>/img/noimg.jpg"> <? } ?></div> <?php } else { ?> <!-- Вывод названия статьи ссылкой --> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <!-- Вывод цитаты, если есть, или текста до тега "more" --> <?php if ( get_the_excerpt() ) { the_excerpt(); } else { the_content(); } } $cnt_post++; ?> вот что у меня получилось после некоторого изменения кода и поколдовав немного с css и html а теперь еще такой вопрос созрел: Как ограничить количество выводимых заголовков статей в правой части? Quote Link to post Share on other sites
VIP campusboy 912 Posted April 10, 2015 VIP Report Share Posted April 10, 2015 вот что у меня получилось после некоторого изменения кода и поколдовав немного с css и html 4.png а теперь еще такой вопрос созрел: Как ограничить количество выводимых заголовков статей в правой части? В админке по ссылке /wp-admin/options-reading.php (Настройки - Чтение) установите На страницах блога отображать не более (цифра). Это если записи выводятся обычным стандартным методом. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 В админке по ссылке /wp-admin/options-reading.php (Настройки - Чтение) установите На страницах блога отображать не более (цифра). Это если записи выводятся обычным стандартным методом. а если я после <?php } else { ?> поставлю if ($cnt_post <= 6) { ?> и внизу закрою скобку, то тогда выводится нужное количество статей. Правильно или так нельзя делать? Quote Link to post Share on other sites
VIP campusboy 912 Posted April 10, 2015 VIP Report Share Posted April 10, 2015 а если я после <?php } else { ?> поставлю if ($cnt_post <= 6) { ?> и внизу закрою скобку, то тогда выводится нужное количество статей. Правильно или так нельзя делать? Можно, но зачем? Получается в итоге WP тащит всё равно из базы 10 статей, потом ещё Ваша конструкция "фильтрует" их. Скажем так, это не оптимальный вариант, но рабочий. Если Вам нужно сделать, чтобы на главной странице выводилось небольшое количество, а в категориях как обычно, то стоит просто переписать цикл. Смотря какая ситуация. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 И теперь вот что у меня получилось Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 Можно, но зачем? Получается в итоге WP тащит всё равно из базы 10 статей, потом ещё Ваша конструкция "фильтрует" их. Скажем так, это не оптимальный вариант, но рабочий. Если Вам нужно сделать, чтобы на главной странице выводилось небольшое количество, а в категориях как обычно, то стоит просто переписать цикл. Смотря какая ситуация. Если в настройках изменить количество отображаемых постов, то это будет влиять на все страницы: главная, категории, архив и т.д. А если добавить проверку на ограничение показа постов через if, тогда количество выводимых постов будет ограничено только на главной странице (т.е. там где будет установлен этот код). Правильно? Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 Можно, но зачем? Получается в итоге WP тащит всё равно из базы 10 статей, потом ещё Ваша конструкция "фильтрует" их. Скажем так, это не оптимальный вариант, но рабочий. Если Вам нужно сделать, чтобы на главной странице выводилось небольшое количество, а в категориях как обычно, то стоит просто переписать цикл. Смотря какая ситуация. Подскажите пожалуйста как вывести статьи определенной категории? что нужно добавить в код? Quote Link to post Share on other sites
VIP campusboy 912 Posted April 10, 2015 VIP Report Share Posted April 10, 2015 Если в настройках изменить количество отображаемых постов, то это будет влиять на все страницы: главная, категории, архив и т.д. А если добавить проверку на ограничение показа постов через if, тогда количество выводимых постов будет ограничено только на главной странице (т.е. там где будет установлен этот код). Правильно? Совершенно верно. Но лучше применить особый вывод, это будет правильнее, для этого почитайте статью 3 способа построения циклов в WordPress. Это будет полезно для Вас, узнаете дополнительные возможности WP. Quote Link to post Share on other sites
VIP campusboy 912 Posted April 10, 2015 VIP Report Share Posted April 10, 2015 Подскажите пожалуйста как вывести статьи определенной категории? что нужно добавить в код? Предугадав следующий Ваш вопрос, дал ссылку выше Error 1 Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 Предугадав следующий Ваш вопрос, дал ссылку выше Спасибо, сейчас почитаю. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 Предугадав следующий Ваш вопрос, дал ссылку выше всё сделал просто добавив такой код <?php query_posts('category_name=имя категории&showposts=кол-во статей'); ?> и всё работает, теперь можно делать любое отображение постов, с картинками и без, и в любом виде: вертикальные, горизонтальные. Оказывается не очень сложно, не то что когда делаешь сайт сам с нуля на пхп и скл. буду дальше трясти WP. Quote Link to post Share on other sites
VIP campusboy 912 Posted April 10, 2015 VIP Report Share Posted April 10, 2015 всё сделал просто добавив такой код <?php query_posts('category_name=имя категории&showposts=кол-во статей'); ?> и всё работает, теперь можно делать любое отображение постов, с картинками и без, и в любом виде: вертикальные, горизонтальные. Оказывается не очень сложно, не то что когда делаешь сайт сам с нуля на пхп и скл. буду дальше трясти WP. Надеюсь, вы не забыли использовать функцию wp_reset_query()? А то могут быть проблемы, в данном случае её нужно использовать обязательно! А если запускать несколько таких циклов, то от query_posts лучше отказаться и использовать аналоги, о которых рассказано в статье, ссылку на которую давал. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 хотел показать, что у меня получилось: Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 области обведенные красным - это пустые места, просто там сейчас нет статей, после пополнения статями эти места заполнятся. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 Надеюсь, вы не забыли использовать функцию wp_reset_query()? А то могут быть проблемы, в данном случае её нужно использовать обязательно! А если запускать несколько таких циклов, то от query_posts лучше отказаться и использовать аналоги, о которых рассказано в статье, ссылку на которую давал. сначала я ее не стал использовать, потом поставил <?php wp_reset_postdata();?> и всё работало нормально, сейчас поменял на <?php wp_reset_query();?> и тоже все работает нормально. Quote Link to post Share on other sites
Seoplus 33 Posted April 10, 2015 Author Report Share Posted April 10, 2015 а сейчас вообще убрал <?php wp_reset_query();?> и заметил такую вещь, СТРАНИЦА СТАЛА ЗАГРУЖАТЬСЯ БЫСТРЕЕ чем с <?php wp_reset_query();?> или <?php wp_reset_postdata();?> и обновляется быстрее, может не нужно использовать эти очистки? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.