Supporto » Aspetto = Temi » Inserire articolo non trovato se in una categoria non ci sono articoli

  • Artgallery75

    (@artgallery75)


    Sempre nel solito loop devo inserire questo: echo wpautop('ops... non ho trovato articoli!');

    <!-- RIASSUNTI ARTICOLI -->
    
    <div class="container pb-1 rounded-lg">
    <div class="card-columns rounded-lg">
      <?php if (is_category()) { $posts = query_posts( $query_string . '&orderby=title&order=asc' ); } ?>
      <?php while(have_posts()){
       the_post(); ?>
      <div class="card p-1">
         <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'full', array( 'class' => 'img-fluid',
                                                                                                'card-img-top') ); 
        ?></a>
        <div class="card-body">
          <h3 class="text-monospace font-italic alert alert-danger"><center><a href="<?php the_permalink(); ?>" class="alert-link text-danger"><?php echo the_title(); ?></a></center></h3>
          <h6 class="text-justify text-monospace font-italic"><a href="<?php the_permalink(); ?>"><?php echo the_excerpt(); ?></a></h6>
          
          <ul class="list-group list-group-flush alert-link">
          <h8 class="text-justify font-italic text-primary"><?php $taxonomy = 'category';       
           $post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
           $separator = ', ';
           if ( ! empty( $post_terms ) && ! is_wp_error( $post_terms ) ) {
           $term_ids = implode( ',' , $post_terms );
           $terms = wp_list_categories( array(
                                               'title_li' => '',
                                               'style'    => 'none',
                                               'echo'     => false,
                                               'taxonomy' => $taxonomy,
                                               'include'  => $term_ids,
                                               'child_of' => 17,
                                               'exclude'  => 17
                                               ) );
           $terms = rtrim( trim( str_replace( '<br />',  $separator, $terms ) ), $separator );
           echo  $terms;
          } ?></h8></ul>
          
          <br />
        </div>
        <div class="card-footer" style="opacity: 0.6;">
          <p class="card-text"><small class="text-muted">Last updated: <strong><?php echo the_time('d/m/Y'); ?></strong></small></p>
        </div>
             
      </div>
       <?php
      } ?>  
    </div>
Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Andrea Porotti

    (@andreaporotti)

    Ciao @artgallery75,

    ti basta racchiudere il while in una if che controlla prima la presenza di post e inserire il messaggio nella else.

    Ad esempio:

    if ( have_posts() ) : 
        while ( have_posts() ) : the_post();
            the_content();
        endwhile;
    else :
        _e( 'Sorry, no posts matched your criteria.', 'textdomain' );
    endif;

    Fonte: https://developer.wordpress.org/themes/basics/the-loop/

    Artgallery75

    (@artgallery75)

    @andreaporotti conosco questa funzione ma non riesco ad inserirla nel mio codice… Cioè qui:

    ` <?php while(have_posts()){
    the_post(); ?>`

    Artgallery75

    (@artgallery75)

    @andreaporotti comunque ho risolto non credevo che il loop della ricerca potesse funzionare negli archivi delle categorie ma sembra che vada bene… Quindi è tutto ok!!! Ho solo un problema che mi fa ammattire… Quando gli articoli sono 4 le colonne da 3 diventano due e si allineano a sinistra. Questo è un problema di spazi ma non riesco a risolverlo!!!!

Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Devi essere collegato per rispondere a questo topic.