{"id":229564,"date":"2022-11-19T12:43:00","date_gmt":"2022-11-19T09:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229564"},"modified":"2022-11-09T08:29:28","modified_gmt":"2022-11-09T05:29:28","slug":"snabbtips-metadata-och-inline-redigering","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/snabbtips-metadata-och-inline-redigering\/","title":{"rendered":"Snabbtips: Metadata och Inline-redigering"},"content":{"rendered":"<p>Om du har en anpassad metabox eller arbetar med anpassad metadata p\u00e5 post-niv\u00e5, kan du st\u00f6ta p\u00e5 ett problem med att ha raderat data av misstag n\u00e4r du sparar dem fr\u00e5n\u00a0 sk\u00e4rmen <strong>Massredigering<\/strong>.<\/p>\n<p>Inst\u00e4llningen f\u00f6r problemet \u00e4r ungef\u00e4r s\u00e5 h\u00e4r:<\/p>\n<ol>\n<li>du har en samling inl\u00e4gg som beh\u00f6ver \u00e4ndras,<\/li>\n<li>du laddar alla inl\u00e4gg i massredigeringssk\u00e4rmen (som visas ovan),<\/li>\n<li>du till\u00e4mpar en \u00e4ndring.<\/li>\n<\/ol>\n<p>N\u00e4r detta h\u00e4nder sker \u00e4ndringen, men den raderar alla anpassade inl\u00e4ggsmetadata som du kan ha.<\/p>\n<p>Det h\u00e4r \u00e4r bara ett litet kodexempel p\u00e5 hur sparmetoden ser ut f\u00f6r din <a href=\"https:\/\/gist.github.com\/tommcfarlin\/356c70c37202d3b93ba31dd5ee981e8c#file-00-save-metadata-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">anpassade metadata<\/a> (det vill s\u00e4ga jag utel\u00e4mnar ett antal skyddsklausuler):<\/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>Problemet med det h\u00e4r \u00e4r att det inte finns n\u00e5gon kontroll att detta kommer fr\u00e5n sk\u00e4rmen <strong>Bulk Edit .<\/strong> Och p\u00e5 grund av det kan metadata raderas helt.<\/p>\n<p>F\u00f6r att hantera detta m\u00e5ste vi kontrollera om serialiseringen kommer fr\u00e5n sk\u00e4rmen <strong>Bulk Edit .<\/strong> P\u00e5 s\u00e5 s\u00e4tt kan vi \u00e5terv\u00e4nda tidigt och f\u00f6rhindra att koden k\u00f6rs. I sin enklaste form kan du g\u00f6ra n\u00e5got <a href=\"https:\/\/gist.github.com\/tommcfarlin\/356c70c37202d3b93ba31dd5ee981e8c#file-01-inline-edit-save-metadata-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">s\u00e5 h\u00e4r<\/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>Observera att jag inte rekommenderar att du anv\u00e4nder detta ordagrant f\u00f6r universella fall eller f\u00f6r universellt bruk eftersom det \u00e4r aggressivt. Ist\u00e4llet tycker jag att det \u00e4r v\u00e4rt att l\u00e4sa igenom <strong><a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/quick_edit_custom_box\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">denna Codex<\/a><\/strong> &#8211; artikel f\u00f6r att f\u00e5 mer information om hur inline-redigering fungerar p\u00e5 b\u00e5de serversidan och klientsidan.<\/p>\n<p>Syftet med inl\u00e4gget \u00e4r att visa hur anpassad metadata kan raderas oavsiktligt och att l\u00e4gga grunden f\u00f6r hur du kan f\u00f6rhindra det.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>H\u00e4r \u00e4r ett snabbt tips f\u00f6r hur du undviker att oavsiktligt radera metadata n\u00e4r anv\u00e4ndaren g\u00f6r \u00e4ndringar med hj\u00e4lp av den inbyggda redigeringssk\u00e4rmen.<\/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":[848,901,922,724,868],"tags":[1173],"class_list":["post-229564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-koda","category-oevrig","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=229564"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/165183"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=229564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=229564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=229564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}