par
Mooks » 01 sept. 2016, 06:56
Bonjour à tous,
Je débute en PHP, et mon code me parait bien lourd. Prenons ces 2 fonctions (j'en ai 12 au total), et examinons les différences :
Code : Tout sélectionner
function get_my_content_grid_11() {
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$my_current_type_in_use = get_post_type( $post );
echo'<section class="grid-11 ', $my_current_type_in_use, ' primary-section">
<article class="', $my_current_type_in_use, ' primary-section-article">
<header class="', $my_current_type_in_use, ' primary-section-article-header">
<h1 class="', $my_current_type_in_use, ' primary-section-article-header-title">', the_title(), '</h1></header>
<div class="', $my_current_type_in_use, ' primary-section-article-content">', the_content(), '</div>
</header>
</article>';
endwhile;
if ( comments_open() || '0' != get_comments_number() )
echo'<article class="', $my_current_type_in_use, ' primary-section-article-comments">'
, comments_template( '', true );
echo'</article></section>';
endif;
}
function get_my_content_grid_12() {
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$my_current_type_in_use = get_post_type( $post );
echo'<section class="grid-12 ', $my_current_type_in_use, ' primary-section">
<article class="', $my_current_type_in_use, ' primary-section-article">
<header class="', $my_current_type_in_use, ' primary-section-article-header">
<h1 class="', $my_current_type_in_use, ' primary-section-article-header-title">', the_title(), '</h1></header>
<div class="', $my_current_type_in_use, ' primary-section-article-content">', the_content(), '</div>
</header>
</article>';
endwhile;
if ( comments_open() || '0' != get_comments_number() )
echo'<article class="', $my_current_type_in_use, ' primary-section-article-comments">'
, comments_template( '', true );
echo'</article></section>';
endif;
}
J'utilise Wordpress, et je compte me faire un petit système maison pour éviter de réécrire encore et toujours les même loops et autres paramètres redondants. Ces deux fonctions sont similaires en tous points, si ce n'est dans la déclaration
, qui change en grid-11 (puis 10, 9, 8 ... 2, et finalement 1).
Ma question va vous parraitre bête, mais y a-t-il un moyen a base de n+1 qui me permettrait (1) de dynamiquement créer une série de fontions
et (2) qui appliquerais ce même ajout à ma classe css dans l'echo
Merci d'avance pour vos lumières.
PS : Joli forum cela dit en passant... c'est propre, clean, et ergonomique

Bonjour à tous,
Je débute en PHP, et mon code me parait bien lourd. Prenons ces 2 fonctions (j'en ai 12 au total), et examinons les différences :
[code]function get_my_content_grid_11() {
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$my_current_type_in_use = get_post_type( $post );
echo'<section class="grid-11 ', $my_current_type_in_use, ' primary-section">
<article class="', $my_current_type_in_use, ' primary-section-article">
<header class="', $my_current_type_in_use, ' primary-section-article-header">
<h1 class="', $my_current_type_in_use, ' primary-section-article-header-title">', the_title(), '</h1></header>
<div class="', $my_current_type_in_use, ' primary-section-article-content">', the_content(), '</div>
</header>
</article>';
endwhile;
if ( comments_open() || '0' != get_comments_number() )
echo'<article class="', $my_current_type_in_use, ' primary-section-article-comments">'
, comments_template( '', true );
echo'</article></section>';
endif;
}
function get_my_content_grid_12() {
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$my_current_type_in_use = get_post_type( $post );
echo'<section class="grid-12 ', $my_current_type_in_use, ' primary-section">
<article class="', $my_current_type_in_use, ' primary-section-article">
<header class="', $my_current_type_in_use, ' primary-section-article-header">
<h1 class="', $my_current_type_in_use, ' primary-section-article-header-title">', the_title(), '</h1></header>
<div class="', $my_current_type_in_use, ' primary-section-article-content">', the_content(), '</div>
</header>
</article>';
endwhile;
if ( comments_open() || '0' != get_comments_number() )
echo'<article class="', $my_current_type_in_use, ' primary-section-article-comments">'
, comments_template( '', true );
echo'</article></section>';
endif;
}[/code]
J'utilise Wordpress, et je compte me faire un petit système maison pour éviter de réécrire encore et toujours les même loops et autres paramètres redondants. Ces deux fonctions sont similaires en tous points, si ce n'est dans la déclaration [code]echo'<section class="grid-12 '[/code], qui change en grid-11 (puis 10, 9, 8 ... 2, et finalement 1).
Ma question va vous parraitre bête, mais y a-t-il un moyen a base de n+1 qui me permettrait (1) de dynamiquement créer une série de fontions [code]"get_my_content_grid_n(+1)"[/code] et (2) qui appliquerais ce même ajout à ma classe css dans l'echo [code]<section class="grid-n+1''[/code]
Merci d'avance pour vos lumières.
PS : Joli forum cela dit en passant... c'est propre, clean, et ergonomique :wink: