[Résolu] Emplacement du code query_posts (Créer un compte)

  • WordPress :4.6.1
  • Statut : résolu
15 sujets de 1 à 15 (sur un total de 16)
  • Auteur
    Messages
  • #1572278
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    Bonjour, je souhaite mettre en page d’accueil les articles d’une, voire deux catégories, et le faire en passant par la fonction query posts.

    N’étant pas un expert en informatique, mais ayant quand même quelques connaissances, j’ai fait des recherches a ce sujet, je pense connaitre les codes à mettre ( comme par exemple : <code class= »plain »><?php query_posts(<code class= »string »>’cat=2&showposts=5′<code class= »plain »>); ?> ), j’ai créé un thème enfant et je les activais, et on ma dit de mettre le code sur le fichier index.php , mais voici le problème :

    Rien ne se passe, il doit me manquer une étape, peut-être que je mais pas le code au bon endroit, vous le mettez ou exactement, a quoi ressemble le fichier index.php avec le code  ?

    Si vous pouvez m’aider.

    Merci.

     

    #1572281
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    PS : petite erreur sur l’exemple du code :
    <div id= »highlighter_398767″ class= »syntaxhighlighter « >
    <div class= »lines »>
    <div class= »line alt1″>
    <table>
    <tbody>
    <tr>
    <td class= »number »>1</td>
    <td class= »content »><code class= »plain »><?php query_posts(<code class= »string »>’cat=2&showposts=5′<code class= »plain »>); <code class= »keyword »>while <code class= »plain »>(have_posts()) : the_post(); ?></td>
    </tr>
    </tbody>
    </table>
    </div>
    <div class= »line alt2″></div>
    </div>
    </div>

    #1572282
    Li-An
    Participant
    Maître WordPress
    28547 contributions

    Bonjour,
    la construction des index.php des thèmes est très très variée. Sans donner le nom du thème, on n’ira pas loin. Il faut en théorie remplacer la query du thème par la votre.

    #1572287
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    ok, (désolé pour mon deuxième message).

    mon thème est Iconic One.

    blog : mlmsolution.fr

     

    #1572305
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    Voici mon fichier index.php si cela peut vous aider :

    <?php
    /**
    * The main template file.
    *
    * This is the most generic template file in a WordPress theme
    * and one of the two required files for a theme (the other being style.css).
    * It is used to display a page when nothing more specific matches a query.
    * For example, it puts together the home page when no home.php file exists.
    *
    * Learn more: http://codex.wordpress.org/Template_Hierarchy
    *
    * @package WordPress
    * @subpackage Iconic_One
    * @since Iconic One 1.0
    */

    get_header(); ?>

    <div id="primary" class="site-content">
    <div id="content" role="main">
    <?php if ( have_posts() ) : ?>

    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'content', get_post_format() ); ?>
    <?php endwhile; ?>

    <?php themonic_content_nav( 'nav-below' ); ?>

    <?php else : ?>

    <article id="post-0" class="post no-results not-found">

    <?php if ( current_user_can( 'edit_posts' ) ) :
    // Show a different message to a logged-in user who can add posts.
    ?>
    <header class="entry-header">
    <h1 class="entry-title"><?php _e( 'No posts to display', 'iconic-one' ); ?></h1>
    </header>

    <div class="entry-content">
    <p><?php printf( __( 'Ready to publish your first post? <a href="%s">Get started here</a>.', 'iconic-one' ), admin_url( 'post-new.php' ) ); ?></p>
    </div><!-- .entry-content -->

    <?php else :
    // Show the default message to everyone else.
    ?>
    <header class="entry-header">
    <h1 class="entry-title"><?php _e( 'Nothing Found', 'iconic-one' ); ?></h1>
    </header>

    <div class="entry-content">
    <p><?php _e( 'Kindly search your topic below or browse the recent posts.', 'iconic-one' ); ?></p>
    <?php get_search_form(); ?>
    </div><!-- .entry-content -->
    <?php endif; // end current_user_can() check ?>

    </article><!-- #post-0 -->

    <?php endif; // end have_posts() check ?>

    </div><!-- #content -->
    </div><!-- #primary -->

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

     

    #1572311
    Li-An
    Participant
    Maître WordPress
    28547 contributions

    C’est un peu contraignant de jouer là-dessus et il vaut mieux passer par le fichier functions.php. Jetez un œil là-dessus : https://solopine.ticksy.com/article/3442/ ou http://www.wpmayor.com/how-to-hide-or-remove-categories-from-a-wordpress-homepage/

    La boucle est générée par

    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'content', get_post_format() ); ?>
    <?php endwhile; ?>

    
    
    #1572337
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    Non résolu, sa ne marche toujours pas (la catégorie avec identifiant 3 est toujours la), j’ai fait pourtant exactement ce qu’il y a marqué sur le lien, qui est très bien expliquer d’ailleurs, voici ou j’ai mis le code dans le fichier function.php :

    <?php
    /**
    ** activation theme
    **/
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );

    }
    ?>

    function exclude_category_home( $query ) {
    if ( $query->is_home ) {
    $query->set( 'cat', '-3' );
    }
    return $query;
    }

    add_filter( 'pre_get_posts', 'exclude_category_home' );

    C’est bien celui-là, le fichier qui ma permis de créer le thème-enfant ?

    #1572354
    Li-An
    Participant
    Maître WordPress
    28547 contributions

    En théorie, il faut le mettre dans le thème-enfant (c’est à ça qu’il sert) mais dans les deux cas, ça devrait marcher. Je vais regarder.

    #1572356
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    ok merci.

    #1572362
    Li-An
    Participant
    Maître WordPress
    28547 contributions

    Je viens de faire le test et ça marche bien chez moi. Vous avez bien le bon ID de catégorie ?

    #1572378
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    ID 3, je réessaye et je vous tiens au courent.

    #1572387
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    ça ne marche toujours pas, quand j’écris le code, il viens s’affiché tout en haut de l’écran comme un message d’erreur et je le retrouve également sur mon blog coté visiteur.

    J’ai envoyer des captures d’écrans.

    La catégorie est bien 3 (ID=3 dans URL), est avec un autre thème, le problème est exactement le même.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #1572393
    Benzouye
    Participant
    Maître WordPress
    577 contributions

    Bonjour,

    Dans le code du fichier functions.php (apparemment ligne 10) tu fermes la balise php avec ?> Du coup, tout ce qui suit est interprété comme du texte …

    Retires ?> et ce sera beaucoup mieux 😉

     

    #1572395
    Li-An
    Participant
    Maître WordPress
    28547 contributions

    Et ne faites JAMAIS les modifs dans l’éditeur de l’admin. C’est un coup à vous retrouver coincé. Téléchargez le fichier à modifier par FTP et renvoyez le par FTP une fois modifié avec un logiciel genre Notepad++ (qui permet des annulations en cas de problème).

    #1572396
    Gabriel06
    Participant
    Padawan WordPress
    60 contributions

    Trop fort , merci beaucoup, on en apprend tout les jours … [Résolu]

15 sujets de 1 à 15 (sur un total de 16)
  • Vous devez être connecté pour répondre à ce sujet.