{"id":1337,"date":"2010-02-05T23:33:41","date_gmt":"2010-02-05T22:33:41","guid":{"rendered":"http:\/\/flaven.fr\/?p=1337"},"modified":"2013-09-25T10:12:37","modified_gmt":"2013-09-25T08:12:37","slug":"wordpress-champs-personnalises-personnaliser-utiliser-les-champs-personnalises-dans-wordpress","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2010\/02\/wordpress-champs-personnalises-personnaliser-utiliser-les-champs-personnalises-dans-wordpress\/","title":{"rendered":"WordPress, Champs personnalis\u00e9s, Personnaliser &#8211; Utiliser les champs personnalis\u00e9s dans WordPress"},"content":{"rendered":"<p>\n<!-- WordPress, Champs personnalis\u00e9s, Personnaliser - Utiliser les champs personnalis\u00e9s dans WordPress  --><br \/>\n<!--  WordPress, Custom fields, champs personnalis\u00e9s, PHP, MySQL, CMS --><br \/>\nLes champs personnalis\u00e9s autrement dit les <code>Custom Fields<\/code> sont tout ce qui vous restent lorsque vous ne pouvez assigner votre contenu aux formes classiques propos\u00e9s par WordPress \u00e0 savoir <code>Article, Page, Lien<\/code>. <!--more-->D\u00e8s lors que vous utilisez les champs personnalis\u00e9s, vous mettez sans la savoir le doigt dans l&#8217;engrenage de la personnalisation de la gestion de contenu et de son affichage de votre contenu. Engrenage dont vous sortirez probablement vivant mais mais au prix exorbitant de la cr\u00e9ation tous azimuts de <code>Custom Fields<\/code> qui rend la gestion de votre contenu d\u00e9sormais plus complexe.<\/p>\n<p><b>En mati\u00e8re de gestion de contenu, on peut se mettre \u00e0 penser que <code>Drupal<\/code> bien que \u00e0 notre avis plus difficile \u00e0 prendre en main permet d&#8217;ing\u00e9rer plus facilement du contenu de forme diverse. En effet, Drupal se r\u00e9v\u00e8le plus souple quant \u00e0 sa capacit\u00e9 \u00e0 accueillir et \u00e0 restituer du contenu h\u00e9t\u00e9rog\u00e8ne mais il est d\u00e9finitivement plus technique et complexe que WordPress dans la gestion de contenu. La courbe d&#8217;apprentissage de WP infiniment moins longue que celle de Drupal.<\/b><\/p>\n<ul>\n<li><b>Nom =&gt; le champs personnalis\u00e9<\/b><\/li>\n<li>Pays =&gt; country<\/li>\n<li>Ville =&gt; city<\/li>\n<\/ul>\n<p><b>La commande qui appelle le champs personnalis\u00e9<\/b><\/p>\n<h4>Les fonctions pour les champs personnalis\u00e9s<\/h4>\n<p>Les explications concernant toutes les autres fonctions susceptibles d&#8217;appeler les champs personnalis\u00e9s. Elles sont disponibles sur le codex de WordPress<\/p>\n<p>Cette fonction retourne toutes les combinaisons cl\u00e9\/valeur pour un article (post) <code>get_post_custom();<\/code>. Dans notre exemple, le champs personnalis\u00e9 que l&#8217;on retourne est <code>country<\/code>.<\/p>\n<pre lang=\"php\" escaped=\"true\">\r\n\t\t$custom_fields = get_post_custom($post-&gt;ID);\r\n\t\t  $my_custom_field = $custom_fields['country'];\r\n\t\t  foreach ( $my_custom_field as $key =&gt; $value )\r\n\t\t    echo $key . \" =&gt; \" . $value . \"<br \/>\";\r\n\t\t\r\n\t\t\r\n\t<\/pre>\n<p>\tLe rendu HTML du code pour un article dot\u00e9 d&#8217;un champ personnalis\u00e9 <code>country<\/code><\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n\t\t0 =&gt; Allemagne\r\n\t<\/pre>\n<p>\t<i>Source : <a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom\" target=\"_blank\">http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom<\/a><\/i><\/p>\n<p>La fonction r\u00e9cup\u00e8re toute la liste des cl\u00e9s de l&#8217;article (post)<code>\tget_post_custom_keys();<\/code>. <\/p>\n<pre lang=\"php\">\r\n\t\t\r\n\t\t$custom_field_keys = get_post_custom_keys();\r\n\t\t  foreach ( $custom_field_keys as $key =&gt; $value ) {\r\n\t\t    $valuet = trim($value);\r\n\t\t      if ( '_' == $valuet{0} )\r\n\t\t      continue;\r\n\t\t    echo $key . \" =&gt; \" . $value . \"<br \/>\";\r\n\t\t  }\r\n\t<\/pre>\n<p>\tLe rendu HTML du code pour un article dot\u00e9 de 2 champs personnalis\u00e9s <code>country, city<\/code><\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n\t\t2 =&gt; country\r\n\t\t3 =&gt; city\r\n\t<\/pre>\n<p>\t<i>Source : <a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom_values\" target=\"_blank\">http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom_values<\/a><\/i><\/p>\n<p>La fonction retourne le couple cl\u00e9\/valeur sp\u00e9cifique pour l&#8217;article affich\u00e9. Dans notre exemple, attach\u00e9 \u00e0 cet article, nous affichons champs personnalis\u00e9 <code>country<\/code><\/p>\n<pre lang=\"php\" escaped=\"true\">\r\n\t\t$mykey_values = get_post_custom_values('country');\r\n\t\t  foreach ( $mykey_values as $key =&gt; $value ) {\r\n\t\t    echo \"$key  =&gt; $value ('country')<br \/>\"; \r\n\t\t  }\r\n<\/pre>\n<p>Le rendu HTML du code pour un article dot\u00e9 d&#8217;un champs personnalis\u00e9 <code>country<\/code><\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n\t0 =&gt; Espagne ('country')\r\n<\/pre>\n<p>\t<i>Source : <a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom_values\" target=\"_blank\">http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom_values<\/a><\/i><\/p>\n<p>La fonction requiert l&#8217;id de l&#8217;article (post), la cl\u00e9 et si la derni\u00e8re valeur est fix\u00e9 \u00e0 <code>true<\/code>, cela permettra d&#8217;imprimer la valeur.<\/p>\n<pre lang=\"php\">\r\n\t\tif (get_post_meta($post-&gt;ID,'country',true)) :\r\n\t\t\techo ('<br><b>Pays :<\/b><br> '.get_post_meta($post-&gt;ID,'country',true).'');\r\n\t\tendif;\r\n\t<\/pre>\n<p>Source : <a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom\">http:\/\/codex.wordpress.org\/Function_Reference\/get_post_custom<\/a><\/p>\n<h4>Un exemple d&#8217;appel aux champs personnalis\u00e9s<\/h4>\n<p><b>Le code sp\u00e9cifique pour l&#8217;affichage des champs personnalis\u00e9s.<\/b><\/p>\n<pre lang=\"php\" escaped=\"true\">\r\n&lt;?php\r\n\r\n  \tif (get_post_meta($post-&gt;ID,'country',true)) :\r\n\t\techo ('<br><b>Pays :<\/b><br> '.get_post_meta($post-&gt;ID,'country',true).'');\r\n\tendif;\r\n\r\n\tif (get_post_meta($post-&gt;ID,'city',true)) :\r\n\techo ('<br><b>Ville :<\/b><br> '.get_post_meta($post-&gt;ID,'city',true).'');\r\n\tendif;\r\n\r\n?&gt;\r\n\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2010\/02\/wp_using_custom_fields_1.jpg\" alt=\"WordPress, Champs personnalis\u00e9s, Personnaliser - Utiliser les champs personnalis\u00e9s dans WordPress\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>Le code complet de la boucle pour afficher le contenu de la page <code>archive.php<\/code><\/b><\/p>\n<pre lang=\"php\" escaped=\"true\">\r\n&lt;?php while (have_posts()) : the_post(); ?&gt;\r\n&lt;div &lt;?php post_class() ?&gt;&gt;\r\n\t\t&lt;h3 id=\"post-&lt;?php the_ID(); ?&gt;\"&gt;&lt;a href=\"&lt;?php the_permalink() ?&gt;\" rel=\"bookmark\" title=\"Permanent Link to &lt;?php the_title_attribute(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;\/a&gt;&lt;\/h3&gt;\r\n\t\t&lt;small&gt;&lt;?php the_time('l, F jS, Y') ?&gt;&lt;\/small&gt;\r\n\r\n\t\t&lt;div class=\"entry\"&gt;\r\n\t\t\t&lt;?php \/* the_content() *\/ ?&gt;\r\n\t\t&lt;\/div&gt;\r\n\t\t\r\n\t\t&lt;?php\r\n\t\t\r\n\t\tif (get_post_meta($post-&gt;ID,'country',true)) :\r\n\t\t\techo ('&lt;br&gt;&lt;b&gt;Pays :&lt;\/b&gt;&lt;br&gt; '.get_post_meta($post-&gt;ID,'country',true).'');\r\n\t\tendif;\r\n\r\n\t\tif (get_post_meta($post-&gt;ID,'city',true)) :\r\n\t\techo ('&lt;br&gt;&lt;b&gt;Ville :&lt;\/b&gt;&lt;br&gt; '.get_post_meta($post-&gt;ID,'city',true).'');\r\n\t\tendif;\r\n\t\t\r\n\t\t?&gt;\r\n\r\n\t\t&lt;p class=\"postmetadata\"&gt;&lt;?php the_tags('Tags: ', ', ', '&lt;br \/&gt;'); ?&gt; Posted in &lt;?php the_category(', ') ?&gt; | &lt;?php edit_post_link('Edit', '', ' | '); ?&gt;  &lt;?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?&gt;&lt;\/p&gt;\r\n\t\t\r\n\t\t\r\n\r\n\t&lt;\/div&gt;\r\n\r\n&lt;?php endwhile; ?&gt;\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2010\/02\/wp_using_custom_fields_2.jpg\" alt=\"WordPress, Champs personnalis\u00e9s, Personnaliser - Utiliser les champs personnalis\u00e9s dans WordPress\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>Conclusion :<\/b> L&#8217;utilisation de <b>champs personnalis\u00e9s (<code>custom fields<\/code><\/b>) peut se r\u00e9v\u00e9ler tr\u00e8s utile sous WP. De tr\u00e8s nombreux th\u00e8mes r\u00e9solvent notamment les difficult\u00e9s \u00e0 g\u00e9rer un contenu h\u00e9t\u00e9rog\u00e8ne sous WordPress \u00e0 l&#8217;aide des <b>champs personnalis\u00e9s (<code>custom fields<\/code><\/b>) et notamment l&#8217;affichage d&#8217;images dans ce que l&#8217;on a coutume de nommer un &#8220;slideshow&#8221;. Un conseil comme pour toute bonne chose, il faut savoir en utiliser les <code>custom fields<\/code> avec mod\u00e9ration. D\u00e8s lors que leur nombre devient tr\u00e8s important, il faut envisager une v\u00e9ritable extension fonctionnelle (plugin) afin d&#8217;apurer toutes ces <code>custom fields<\/code> qui sont autant de rustines sur votre WP mais dont vous \u00eates le seul \u00e0 connaitre la fonction.<\/p>\n<p><b>Un &#8220;slideshow&#8221; sur le blog de 3WDOC.COM<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2010\/02\/wp_using_custom_fields_3.jpg\" alt=\"WordPress, Champs personnalis\u00e9s, Personnaliser - Utiliser les champs personnalis\u00e9s dans WordPress\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>Les champs personnalis\u00e9s qui pilotent le &#8220;slideshow&#8221;<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2010\/02\/wp_using_custom_fields_4.jpg\" alt=\"WordPress, Champs personnalis\u00e9s, Personnaliser - Utiliser les champs personnalis\u00e9s dans WordPress\" width=\"500\" height=\"265\" \/><\/p>\n<h2>En savoir plus<\/h2>\n<ul>\n<li>Utiliser les champs personnalis\u00e9s  (Using Custom Fields)<br \/>\n\t<a href=\"http:\/\/codex.wordpress.org\/Using_Custom_Fields\" target=\"_blank\">http:\/\/codex.wordpress.org\/Using_Custom_Fields<\/a><\/li>\n<li>Ne dites pas de WordPress que c&#8217;est un CMS, tout le monde pense que c&#8217;est un outil de blog \/ WordPress as CMS: How to use custom fields in your theme<br \/>\n\t<a href=\"http:\/\/outthinkgroup.com\/2009\/01\/15\/wordpress-as-cms-how-to-use-custom-fields-in-your-theme\/\" target=\"_blank\">http:\/\/outthinkgroup.com\/2009\/01\/15\/wordpress-as-cms-how-to-use-custom-fields-in-your-theme\/<\/a><\/li>\n<li>Tutoriel: WordPress, les champs personnalis\u00e9s<br \/>\n\t<a href=\"http:\/\/www.scriptol.fr\/wordpress\/wordpress-champ-personnalise.php\" target=\"_blank\">&#8220;http:\/\/www.scriptol.fr\/wordpress\/wordpress-champ-personnalise.php<\/a><\/li>\n<li>Du bonne usage de champs personnalis\u00e9s en particulier et du bonne usage de WordPress en particulier<br \/>\n\t<a href=\"http:\/\/www.smashingmagazine.com\/2009\/05\/13\/10-custom-fields-hacks-for-wordpress\/\" target=\"_blank\">http:\/\/www.smashingmagazine.com\/2009\/05\/13\/10-custom-fields-hacks-for-wordpress\/<\/a><\/li>\n<li>Un article conseill\u00e9 par le site de WordPress &#8220;himself&#8221; \/ Control your own WordPress custom fields<br \/>\n\t<a href=\"http:\/\/sltaylor.co.uk\/blog\/control-your-own-wordpress-custom-fields\/\" target=\"_blank\">http:\/\/sltaylor.co.uk\/blog\/control-your-own-wordpress-custom-fields\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Les champs personnalis\u00e9s autrement dit les Custom Fields sont tout ce qui vous restent lorsque vous ne pouvez assigner votre contenu aux formes classiques propos\u00e9s&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2010\/02\/wordpress-champs-personnalises-personnaliser-utiliser-les-champs-personnalises-dans-wordpress\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">WordPress, Champs personnalis\u00e9s, Personnaliser &#8211; Utiliser les champs personnalis\u00e9s dans WordPress<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":9417,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Les champs personnalis\u00e9s de WordPress permettent de g\u00e9rer et d'afficher du contenu sp\u00e9cifique. Utilisez-les pour personnaliser votre site, mais attention \u00e0 la complexit\u00e9 accrue.","bf_ai_og_title":"Personnaliser WordPress avec Champs Personnalis\u00e9s","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3454,3444,3447,3449,3451,3435,3452],"tags":[290,2221,291,2211,20,2223],"class_list":["post-1337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-journalism-writing","category-programming-databases","category-technology-trends","category-tutorials-how-to","category-web-design-front-end","category-web-development","category-wordpress-cms","tag-champs-personnalises","tag-cms","tag-custom-fields","tag-mysql","tag-php","tag-wordpress"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-lz","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2011\/07\/wp_logo_generic4_bf.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/1337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=1337"}],"version-history":[{"count":1,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/1337\/revisions"}],"predecessor-version":[{"id":9476,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/1337\/revisions\/9476"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/9417"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=1337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=1337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=1337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}