CMS Development

sking1
Colaborador(a)

Filter one topic in a multiple blog listing

resolver

I am combining 4 blogs and would like to only show 3 total posts with one topic. 

 

{% set blog_one_posts = blog_recent_posts('XXXXXXXXXX', limit=3, tags="Marketing Tips") %} <!-- video --> 
{% set blog_two_posts = blog_recent_posts('XXXXXXXXXX', limit=3, tags="Marketing Tips") %} <!-- article -->
{% set blog_three_posts = blog_recent_posts('XXXXXXXXXX', limit=3, tags="Marketing Tips") %} <!-- infographic -->
{% set blog_four_posts = blog_recent_posts('XXXXXXXXXX', limit=3, tags="Marketing Tips") %} <!-- report -->

{% set all_posts = (blog_one_posts + blog_two_posts + blog_three_posts + blog_four_posts) | sort(true, false, 'publish_date')  %} 
{% for post in all_posts %}
content here
{% endfor %}

 

0 Avaliação positiva
1 Solução aceita
sking1
Solução
Colaborador(a)

Filter one topic in a multiple blog listing

resolver

This worked:

{% set blog_one_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- video --> 
{% set blog_two_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- article -->
{% set blog_three_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- infographic -->
{% set blog_four_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- report -->

{% set all_posts = (blog_one_posts + blog_two_posts + blog_three_posts + blog_four_posts) | sort(true, false, 'publish_date')  %} 

And

{% for post in all_posts %}
content here
{% endfor %}

:

Exibir solução no post original

0 Avaliação positiva
5 Respostas 5
dennisedson
Equipe de Produto da HubSpot
Equipe de Produto da HubSpot

Filter one topic in a multiple blog listing

resolver

@sking1

add this to your for loop

{% for post in all_posts %}
  {% if loop.index < 4 %} 
     content here
  {% endif %}
{% endfor %}
0 Avaliação positiva
sking1
Solução
Colaborador(a)

Filter one topic in a multiple blog listing

resolver

This worked:

{% set blog_one_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- video --> 
{% set blog_two_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- article -->
{% set blog_three_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- infographic -->
{% set blog_four_posts = blog_recent_topic_posts('XXXXXXXXXX', 'marketing-tips', 3) %} <!-- report -->

{% set all_posts = (blog_one_posts + blog_two_posts + blog_three_posts + blog_four_posts) | sort(true, false, 'publish_date')  %} 

And

{% for post in all_posts %}
content here
{% endfor %}

:

0 Avaliação positiva
dennisedson
Equipe de Produto da HubSpot
Equipe de Produto da HubSpot

Filter one topic in a multiple blog listing

resolver

@sking1, that will not limit to 3.  you are limiting each of the individual blogs to 3, but collectively, you will get 12.  

0 Avaliação positiva
sking1
Colaborador(a)

Filter one topic in a multiple blog listing

resolver

Yes, thank you. I have a loop inside, that part I didn't need help on.  

sking1
Colaborador(a)

Filter one topic in a multiple blog listing

resolver

I also tried different syntax

 

{% set blog_one_posts = blog_recent_posts('XXXXXXXXXX', marketing-tips, 3) %}
{% set blog_one_posts = blog_recent_posts('XXXXXXXXXX', 'marketing-tips', 3) %}
{% set blog_one_posts = blog_recent_posts('XXXXXXXXXX', 'Marketing Tips', 3) %}

 

 

0 Avaliação positiva