Je convertis un modèle Bootstrap en un thème WordPress.
Pour les champs personnalisés, j'utilise le plugin Champs personnalisés avancés . Le problème est que lorsque j'essaie d'ajouter une image à l'aide de Champs personnalisés avancés, j'obtiens l'erreur suivante :
Avertissement : offset de chaîne 'url' illégal dans C:\wamp64\www\my-site\wordpress\wp-content\themes\bootstraptowordpress\page-home.php à la ligne 31
Cependant, lorsque j'ajoute du texte via ce plugin, il n'affiche aucune erreur.
Je n'ai pas d'autres plugins installés à part ACF.
Voici mon code:
$home_page_logo = get_field('home_page_logo');
<div class="front_logo">
<?php if( !empty($home_page_logo)): ?>
<img src="<?php echo $home_page_logo['url']; ?>" alt="<?php echo $home_page_logo['alt']; ?>" />
<?php endif; ?>
</div>
2 réponses
Il existe trois manières de renvoyer un champ d'image dans ACF (tableau, URL ou ID). Il semble que votre champ soit configuré pour renvoyer l'URL - qui est renvoyée sous forme de chaîne.
Par conséquent, vous devez y accéder comme ceci:
<?php echo $home_page_logo; ?>
Au lieu de cela:
<?php echo $home_page_logo['url']; ?>
Alternativement, vous pouvez modifier la configuration du champ dans votre administrateur WordPress et le configurer pour renvoyer un tableau d'images au lieu de l'URL :
S'il est défini sur l'option de tableau, vous pouvez accéder au url
comme vous le faites actuellement, ainsi qu'accéder à une gamme d'autres données pertinentes pour l'image (telles que sa largeur et sa hauteur, l'ID de pièce jointe WordPress, la légende si saisie, etc.)
Il est préférable d'utiliser le plugin de formes de gravité. Vous pouvez télécharger ici : Plugin WordPress Rocket Genius Gravity Forms
Mais si vous voulez corriger votre code, essayez de tester s'il s'agit d'un tableau :
<?php
$yes = array('this', 'is', 'an array');
echo is_array($yes) ? 'Array' : 'not an Array';
echo "\n";
$no = 'this is a string';
echo is_array($no) ? 'Array' : 'not an Array';
?>
http://php.net/manual/function.is-array.php
Questions connexes
De nouvelles questions
php
PHP est un langage de script largement utilisé, de haut niveau, dynamique, orienté objet et interprété, principalement conçu pour le développement Web côté serveur. Utilisé pour les questions sur le langage PHP.