- WordPress :4.6.1
- Statut : non résolu
- Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par
sebastienserre, le il y a 8 années et 6 mois.
-
AuteurMessages
-
15 décembre 2016 à 10 h 13 min #1609178
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL :
- Thème utilisé : uncode
- Extensions en place :
- Nom de l’hébergeur : ovh
- Adresse du site :
Problème(s) rencontré(s) :
Bonjour,
Je souhaiterais intégrer des champs personnalisés avec ACF dans une sidebar. Dans le fichier sidebar.php il y a ce code :
<?php
/**
* The sidebar containing the main widget area.
*
* @package uncode
*/
$metabox_data = get_post_custom($post->ID);
$sidebar = (isset($metabox_data['_uncode_page_sidebar'][0])) ? 'uncode-' . $metabox_data['_uncode_page_sidebar'][0] : 'sidebar-1';
if ( ! is_active_sidebar( $sidebar ) ) {
return;
}
?>
<div id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( $sidebar ); ?>
</div><!-- #secondary -->et je voudrais mettre ce code ACF
<!-- CONTENU ACF -->
<?php
// Contrôler si ACF est actif
if ( !function_exists('get_field') ) return;
?>
<ul>
<li><strong>Année de sortie: </strong><?php the_field('partenaire'); ?></li>
<li><strong>Nombre de visiteurs: </strong><?php the_field('gn_nombr_visiteurs'); ?> personnes</li>
<li><strong>Commentaire: </strong><?php the_field('gn_comment'); ?></li>
</ul>
<!-- CONTENU ACF -->Mon problème est que je ne sais pas comment faire pour l’intégrer, une idée ?
Merci
15 décembre 2016 à 12 h 51 min #1609193<?php
/**
* The sidebar containing the main widget area.
*
* @package uncode
*/
$metabox_data = get_post_custom($post->ID);
$sidebar = (isset($metabox_data['_uncode_page_sidebar'][0])) ? 'uncode-' . $metabox_data['_uncode_page_sidebar'][0] : 'sidebar-1';
if ( ! is_active_sidebar( $sidebar ) ) {
return;
}
?>
<div id="secondary" class="widget-area" role="complementary">
<!-- CONTENU ACF AVANT les Widgets-->
<?php
// Contrôler si ACF est actif
if ( !function_exists('get_field') ) return;
?>
<ul>
<li><strong>Année de sortie: </strong><?php the_field('partenaire'); ?></li>
<li><strong>Nombre de visiteurs: </strong><?php the_field('gn_nombr_visiteurs'); ?> personnes</li>
<li><strong>Commentaire: </strong><?php the_field('gn_comment'); ?></li>
</ul>
<!-- CONTENU ACF -->
<?php dynamic_sidebar( $sidebar ); ?>
<!-- CONTENU ACF AVANT les Widgets-->
<?php
// Contrôler si ACF est actif
if ( !function_exists('get_field') ) return;
?>
<ul>
<li><strong>Année de sortie: </strong><?php the_field('partenaire'); ?></li>
<li><strong>Nombre de visiteurs: </strong><?php the_field('gn_nombr_visiteurs'); ?> personnes</li>
<li><strong>Commentaire: </strong><?php the_field('gn_comment'); ?></li>
</ul>
<!-- CONTENU ACF -->
</div><!-- #secondary -->A toi d’adapter si tu le veux avant ou après les widgets. Par contre pour ne pas afficher des champs vide si l’info n’est pas renseignée, j’aurais mis des conditions:
<ul>
<?php if ( !empty(get_field('partenaire') {?>
<li><strong>Année de sortie: </strong><?php the_field('partenaire'); ?></li>
<?php } ?>
// idem pour les autres li15 décembre 2016 à 17 h 21 min #1609237Ok c’est super ! Merci beaucoup Sébastien 🙂
Une autre question. Toujours avec ACF, j’ai des champs que je dois ajouter aux articles, mais il faudrait que je puisse les écrire à des endroits précis de l’article. Entre deux paragraphes par exemple. L’éditeur des articles de wordpress ne permet pas d’écrire en php malheureusement…
J’ai essayer les shorcodes aussi, mais je ne sais pas comment recuperer les champs de ACF…
function fonpartenaire( $atts ) {
return '<?php the_field('partenaire'); ?>';
}
add_shortcode( 'partenaire', 'fonPartenaire' );15 décembre 2016 à 23 h 24 min #1609289Au milieu d’un artcile ca ne va pas etre possible par contre le rajouter au début ou a la fin de the_content via le filtre the_content c’est possible
15 décembre 2016 à 23 h 46 min #1609294Et pour revenir sur ton code, a la ligne 2, ne réouvre pas ton php tu est deja dedans…
aussi
the_field()
est en fait un
echo get_the_field()
donc si tu return the_field, ensuite tu feras un echo en trop…
Je ne sais pas si je suis clair… il commence a etre tard!
16 décembre 2016 à 16 h 24 min #1609367Un truc comme ça ?
// champ perso
function fonpartenaire( $atts ) {
echo get_the_field('partenaire');
}
add_shortcode( 'partenaire', 'fonPartenaire' );17 décembre 2016 à 20 h 08 min #1609484ça à l’air de tout faire planter quand je mets ce code dans le fichier function.php ….
18 décembre 2016 à 14 h 02 min #1609540// champ perso
function fonpartenaire( $atts ) {
echo get_the_field('partenaire');
}
add_shortcode( 'partenaire', 'fonPartenaire' );return get_the_field ?
Et si tu fais un
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.