{"id":230010,"date":"2022-11-19T12:53:00","date_gmt":"2022-11-19T09:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230010"},"modified":"2022-11-09T19:41:54","modified_gmt":"2022-11-09T16:41:54","slug":"conseil-rapide-metadonnees-et-edition-en-ligne","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/conseil-rapide-metadonnees-et-edition-en-ligne\/","title":{"rendered":"Conseil rapide\u00a0: M\u00e9tadonn\u00e9es et \u00e9dition en ligne"},"content":{"rendered":"<p>Si vous avez une m\u00e9ta-bo\u00eete personnalis\u00e9e ou si vous travaillez avec des m\u00e9tadonn\u00e9es personnalis\u00e9es au niveau de la publication, vous pouvez rencontrer un probl\u00e8me de suppression accidentelle de donn\u00e9es lors de leur enregistrement \u00e0 partir de l&rsquo;\u00a0 \u00e9cran de <strong>modification en<\/strong> masse.<\/p>\n<p>La configuration du probl\u00e8me ressemble \u00e0 ceci\u00a0:<\/p>\n<ol>\n<li>vous avez une collection de messages qui doivent \u00eatre modifi\u00e9s,<\/li>\n<li>vous chargez tous les articles dans l&rsquo;\u00e9cran d&rsquo;\u00e9dition en bloc (comme indiqu\u00e9 ci-dessus),<\/li>\n<li>vous appliquez une modification.<\/li>\n<\/ol>\n<p>Une fois que cela se produit, le changement se produit, mais il efface toutes les m\u00e9tadonn\u00e9es de publication personnalis\u00e9es que vous pourriez avoir.<\/p>\n<p>Ceci n&rsquo;est qu&rsquo;un petit exemple de code de ce \u00e0 quoi ressemble la m\u00e9thode save pour vos <a href=\"https:\/\/gist.github.com\/tommcfarlin\/356c70c37202d3b93ba31dd5ee981e8c#file-00-save-metadata-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">m\u00e9tadonn\u00e9es personnalis\u00e9es<\/a> (c&rsquo;est-\u00e0-dire que je laisse de c\u00f4t\u00e9 un certain nombre de clauses de garde):<\/p>\n<pre><code>&lt;?php\n\n\/**\n * Save the options in the meta box.\n *\n * @since    1.0.0\n *\n * @param    int    $post_id    The ID of the current post\n *\/\npublic function save( $post_id) {\n\n  \/\/ Note: Guard clauses removed for readability.\n  \/\/ Assume $metadata is set earlier in this function.\n\n  update_post_meta( $post_id, 'acme-custom-meta-data', $metadata );\n\n}\n<\/code><\/pre>\n<p>Le probl\u00e8me avec ceci est qu&rsquo;il n&rsquo;y a aucune v\u00e9rification que cela provient de l&rsquo;\u00a0 \u00e9cran d&rsquo; <strong>\u00e9dition en<\/strong> bloc. Et \u00e0 cause de cela, les m\u00e9tadonn\u00e9es peuvent \u00eatre compl\u00e8tement supprim\u00e9es.<\/p>\n<p>Pour g\u00e9rer cela, nous devons v\u00e9rifier si la s\u00e9rialisation provient de l&rsquo;\u00a0 \u00e9cran de <strong>modification en<\/strong> bloc. De cette fa\u00e7on, nous pouvons revenir plus t\u00f4t et emp\u00eacher l&rsquo;ex\u00e9cution du code. Dans sa forme la plus simple, vous pouvez faire quelque chose <a href=\"https:\/\/gist.github.com\/tommcfarlin\/356c70c37202d3b93ba31dd5ee981e8c#file-01-inline-edit-save-metadata-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">comme ceci<\/a> :<\/p>\n<pre><code>&lt;?php\n\n\/**\n * Save the options in the meta box. Ignore the action if it's coming from the\n * Bulk Edit screen.\n *\n * @since    1.0.0\n *\n * @param    int    $post_id    The ID of the current post\n *\/\npublic function save( $post_id) {\n\n  \/\/ Note: Guard clauses removed for readability.\n  \/\/ Assume $metadata is set earlier in this function.\n\n  if (isset( $_POST['_inline_edit'])) {\n    return;\n  }\n\n  update_post_meta( $post_id, 'acme-custom-meta-data', $metadata );\n\n}\n<\/code><\/pre>\n<p>Notez que je ne recommande pas d&rsquo;utiliser ce verbatim pour les cas universels ou pour une utilisation universelle car il est agressif. Au lieu de cela, je pense qu&rsquo;il vaut la peine de lire <strong><a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/quick_edit_custom_box\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cet article du Codex<\/a><\/strong> pour obtenir plus d&rsquo;informations sur le fonctionnement de l&rsquo;\u00e9dition en ligne \u00e0 la fois c\u00f4t\u00e9 serveur et c\u00f4t\u00e9 client.<\/p>\n<p>Le but de la publication est de montrer comment les m\u00e9tadonn\u00e9es personnalis\u00e9es peuvent \u00eatre supprim\u00e9es involontairement et de jeter les bases de la mani\u00e8re dont vous pouvez l&#8217;emp\u00eacher.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici une astuce rapide pour \u00e9viter de supprimer accidentellement des m\u00e9tadonn\u00e9es lorsque l&rsquo;utilisateur apporte des modifications \u00e0 l&rsquo;aide de l&rsquo;\u00e9cran d&rsquo;\u00e9dition en ligne.<\/p>\n","protected":false},"author":1,"featured_media":165183,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[915,893,717,841,862],"tags":[1167],"class_list":["post-230010","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autre","category-code-2","category-developpeur","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/230010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=230010"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/230010\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/165183"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=230010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=230010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=230010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}