Erreur dans le fichier wordpress function.php

Publié par Jean-Michel le

J’essaie d’ajouter un shortcode particulier à mon thème, mais j’obtiens une erreur lorsque je colle le code ci-dessous dans mon thème function.php. J’ai déjà essayé including oncedans le function.php mais cela n’a pas fonctionné.

Je pense que le problème vient du <?phppréfixe et du ?>suffixe qui sont interdits dans wordpress fucntion.php. J’avais tout supprimé <?phpet ?>mais cela génère toujours une erreur.

// Add Shortcode
function acardio_big_grid_1() {

  <div class="col-md-12 featt big-grid">
    <div class="container-fluid no-padding">

    <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array('post_type' => 'post', 'posts_per_page' => 5, 'paged' => $paged);
    $query = new WP_Query($args);
    if( $query->have_posts() ) :
    while( $query->have_posts() ) : $query->the_post(); ?>
<?php $count++; ?>
<?php if ($count == 1) : ?>




                <div class="big-pane col-xs-6">
                <div class="the-big-pane image">
                <div class="img-responsive"> <?php if ( has_post_thumbnail() ) : ?>
        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('big-grid-one-image'); ?></a>
    <?php else : ?>
        <img src="



<?php if (function_exists('get_option_tree') ) : if (get_option_tree('defualt_fatured_uploader')) :  ?>

        <?php get_option_tree( 'defualt_fatured_uploader', '', 'true' ); ?>
        <?php else : ?>

        <?php echo get_template_directory_uri (); ?>/img/nothumb-featured.png

    <?php endif; endif; ?>


        " />


    <?php endif; ?></div>
                </div>
                <div class="big-pane overlay">

                  <div class="the-big-pane-content">
                   <div class="the-cont-cat">
   <span class="the-content-cat-bt">  <?php $category = get_the_category(); if ($category)
                    { echo wp_kses_post('<a href="' . get_category_link( $category[0]->term_id ) . '" class="tiptipBlog" title="' . sprintf( esc_html__( "View all posts in %s", "acardio" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ');}  ?></span>  <span class="the-content-cat-bt"> <?php taqyeem_get_score(); ?> </span>
  </div>
                    <h1><a href="<?php the_permalink(); ?>"><?php echo wp_trim_words( get_the_title(), 15 ); ?></a></h1>
                    <span class="the-content-post-data"><span class="the-auth-post-image-content" style="padding-top: 0px !important;"> <?php echo get_avatar( get_the_author_meta( 'user_email' ), 100 ); ?> </span> By <a href="#"><?php the_author_posts_link(); ?></a> <span class="the-content-post-date"> <i class="fa fa-clock-o the-content "></i><?php the_time('jS M, Y') ?></span> </span>
                  </div>
                </div>
                </div>


                <?php elseif ($count == 2) : ?>
                <div class="small-pane-holder1 col-xs-6">
                <div class="small-pane col-xs-6 one">
                <div class="the-small-pane-image">
                <?php the_post_thumbnail();?>
                </div>
                  <div class="small-pane-overlay">
                    <div class="small-pan-content">
                     <div class="the-cont-cat">
   <span class="the-content-cat-bt">  <?php $category = get_the_category(); if ($category)
                    { echo wp_kses_post('<a href="' . get_category_link( $category[0]->term_id ) . '" class="tiptipBlog" title="' . sprintf( esc_html__( "View all posts in %s", "acardio" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ');}  ?></span>  <span class="the-content-cat-bt"> <?php taqyeem_get_score(); ?> </span>
  </div>
  <h1 class="small-pane-title"><a href="<?php the_permalink(); ?>"><?php echo wp_trim_words( get_the_title(), 10 ); ?></a></h1>

                    </div>
                  </div>
                </div>

                <?php elseif ($count == 3) : ?>
                <div class="small-pane col-xs-6 two">
                <div class="the-small-pane-image">
                <?php the_post_thumbnail();?>
                </div>
                  <div class="small-pane-overlay">
                    <div class="small-pan-content">
                     <div class="the-cont-cat">
   <span class="the-content-cat-bt">  <?php $category = get_the_category(); if ($category)
                    { echo wp_kses_post('<a href="' . get_category_link( $category[0]->term_id ) . '" class="tiptipBlog" title="' . sprintf( esc_html__( "View all posts in %s", "acardio" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ');}  ?></span>  <span class="the-content-cat-bt"> <?php taqyeem_get_score(); ?> </span>
  </div>
  <h1 class="small-pane-title"><a href="<?php the_permalink(); ?>"><?php echo wp_trim_words( get_the_title(), 10 ); ?></a></h1>

                    </div>
                  </div>
                </div>

                <?php elseif ($count == 4) : ?>
                <div class="small-pane col-xs-6 three">
                <div class="the-small-pane-image">
                <?php the_post_thumbnail();?>
                </div>
                  <div class="small-pane-overlay">
                    <div class="small-pan-content">
                     <div class="the-cont-cat">
   <span class="the-content-cat-bt">  <?php $category = get_the_category(); if ($category)
                    { echo wp_kses_post('<a href="' . get_category_link( $category[0]->term_id ) . '" class="tiptipBlog" title="' . sprintf( esc_html__( "View all posts in %s", "acardio" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ');}  ?></span>  <span class="the-content-cat-bt"> <?php taqyeem_get_score(); ?> </span>
  </div>
  <h1 class="small-pane-title"><a href="<?php the_permalink(); ?>"><?php echo wp_trim_words( get_the_title(), 10 ); ?></a></h1>

                    </div>
                  </div>
                </div>

                <?php elseif ($count == 5) : ?>
                <div class="small-pane col-xs-6 four">
                <div class="the-small-pane-image">
                <?php the_post_thumbnail();?>
                </div>
                  <div class="small-pane-overlay">
                    <div class="small-pan-content">
                     <div class="the-cont-cat">
   <span class="the-content-cat-bt">  <?php $category = get_the_category(); if ($category)
                    { echo wp_kses_post('<a href="' . get_category_link( $category[0]->term_id ) . '" class="tiptipBlog" title="' . sprintf( esc_html__( "View all posts in %s", "acardio" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ');}  ?></span>  <span class="the-content-cat-bt"> <?php taqyeem_get_score(); ?> </span>
  </div>
  <h1 class="small-pane-title"><a href="<?php the_permalink(); ?>"><?php echo wp_trim_words( get_the_title(), 10 ); ?></a></h1>

                    </div>
                  </div>
                </div>

    </div>



<?php else : ?>

  <?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

</div>
</div>
}
add_shortcode( 'acardio-big-grid-1', 'acardio_big_grid_1' );

Solution n°1 trouvée

Juste en haut, vous avez une erreur de syntaxe – un problème avec vos balises PHP. Vous avez besoin d’une balise php de fermeture avant le HTML et d’une balise PHP d’ouverture après. Le haut du code devrait se lire comme suit :

function acardio_big_grid_1() {

?>
  <div class="col-md-12 featt big-grid">
    <div class="container-fluid no-padding">

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array('post_type' => 'post', 'posts_per_page' => 5, 'paged' => $paged);

Vous avez un problème similaire vers la fin de l’exemple de code, mais cette fois il manque une balise php d’ouverture :

<?php endwhile; ?>
<?php endif; ?>

</div>
</div>

<?php
    }
add_shortcode( 'acardio-big-grid-1', 'acardio_big_grid_1' );

Aucune garantie que ce soit tous vos problèmes, mais ce serait un problème clé dans l’exemple de code que vous avez fourni.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *