{"id":81882,"date":"2018-11-06T11:24:41","date_gmt":"2018-11-06T11:24:41","guid":{"rendered":"https:\/\/es.wordpress.org\/support\/topic\/undefined-index-en-campos-de-los-tipos-personalizados\/"},"modified":"2018-11-08T11:52:56","modified_gmt":"2018-11-08T11:52:56","slug":"undefined-index-en-campos-de-los-tipos-personalizados","status":"publish","type":"topic","link":"https:\/\/es.wordpress.org\/support\/topic\/undefined-index-en-campos-de-los-tipos-personalizados\/","title":{"rendered":"Undefined index en campos de los tipos personalizados"},"content":{"rendered":"<p>Buenos d\u00edas a tod@s,<br \/>\nHe creado un tipo personalizado, lo instalo en mi servidor, y cuando intento crear un nuevo contenido de este tipo, me da el siguiente error: <\/p>\n<blockquote><p>\u00abUndefined index: _marca in \/storage\/ssd5\/219\/4304219\/public_html\/wp-content\/themes\/Prueba\/functions.php on line \u00ab<\/p><\/blockquote>\n<p>El tipo personalizado, que he creado es el siguiente:<\/p>\n<pre><code>function articulo() {\n\tglobal $\n\t\/\/ Noncename necesario para verificar de d\u00f3nde vienen los datos\n   echo &#039;&lt;input type=&quot;hidden&quot; name=&quot;articulometa_noncename&quot; id=&quot;articulometa_noncename&quot; value=&quot;&#039;.wp_create_nonce( plugin_basename(__FILE__) ) . &#039;&quot; \/&gt;&#039;;\n   \n   \/\/ Obtenemos los atributos del art\u00edculo si estuvieran guardados, con get_post_meta y el nombre del atributo\n   $marca = get_post_meta($post-&gt;ID, &#039;_marca&#039;, true);\n   $precio = get_post_meta($post-&gt;ID, &#039;_precio&#039;, true);\n   $talla = get_post_meta($post-&gt;ID, &#039;_talla&#039;, true);\n\n   \/\/ Mostramos los campos de texto donde introduciremos los atributos\n   echo &#039;&lt;p&gt;Marca&lt;\/p&gt;&#039;;\n   echo &#039;&lt;input type=&quot;text&quot; name=&quot;_marca&quot; value=&quot;&#039; . $marca . &#039;&quot; class=&quot;widefat&quot; \/&gt;&#039;;\n   echo &#039;&lt;p&gt;Precio&lt;\/p&gt;&#039;;\n   echo &#039;&lt;input type=&quot;text&quot; name=&quot;_precio&quot; value=&quot;&#039; . $precio . &#039;&quot; class=&quot;widefat&quot; \/&gt;&#039;;\n   echo &#039;&lt;p&gt;Talla&lt;\/p&gt;&#039;;\n   echo &#039;&lt;input type=&quot;text&quot; name=&quot;_talla&quot; value=&quot;&#039; . $talla . &#039;&quot; class=&quot;widefat&quot; \/&gt;&#039;;\n}\n\nY el error, me da en el metodo de guardar:\n\nfunction save_articulos_meta($post_id, $post) {\n  \/\/ Comprobaci\u00f3n de seguridad para que no se acceda desde otros sitios\n  if ($_POST &amp;&amp; !wp_verify_nonce($_POST[&#039;articulometa_noncename&#039;], __FILE__)) {\n    return $post-&gt;ID;\n  }\n   \n  \/\/ Comprobaci\u00f3n de que el usuario actual puede editar\n  if ( !current_user_can( &#039;edit_post&#039;, $post-&gt;ID )) {\n    return $post-&gt;ID; \n  }\n     \n  \/\/ Obtenemos los atributos guardados en POST cuando guardamos nuestra p\u00e1gina de art\u00edculo\t\n  $articulos_meta[&#039;_marca&#039;] = $_POST[&#039;_marca&#039;]; \/\/ &lt;-- AQUI\n  $articulos_meta[&#039;_precio&#039;] = $_POST[&#039;_precio&#039;]; \/\/ &lt;-- AQUI\n  $articulos_meta[&#039;_talla&#039;] = $_POST[&#039;_talla&#039;]; \/\/ &lt;-- AQUI\n\t\n  \/\/ Guardamos los valores de los atributos como campos personalizados\n  foreach ($articulos_meta as $key =&gt; $value) {\t\t\n    \/\/ No guardamos si el post es una revisi\u00f3n\n    if ($post-&gt;post_type == &#039;revision&#039;) {\n      return;\n    } \n\t\t\n    if (get_post_meta($post-&gt;ID, $key, FALSE)) {\n      \/\/ Si el atributo ya exist\u00eda, lo actualizamos\n      update_post_meta($post-&gt;ID, $key, $value);\n    } else {\n      \/\/ Si no exist\u00eda, lo a\u00f1adimos nuevo\n      add_post_meta($post-&gt;ID, $key, $value);\n    }\n\t\t\n    \/\/ Si el valor est\u00e1 en blanco, eliminamos el atributo\n    if (!$value) {\n      delete_post_meta($post-&gt;ID, $key);\n    }\n  }\n}<\/code><\/pre>\n","protected":false},"template":"","class_list":["post-81882","topic","type-topic","status-publish","hentry","topic-tag-index"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es.wordpress.org\/support\/wp-json\/wp\/v2\/topic\/81882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es.wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/es.wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":1,"href":"https:\/\/es.wordpress.org\/support\/wp-json\/wp\/v2\/topic\/81882\/revisions"}],"predecessor-version":[{"id":82028,"href":"https:\/\/es.wordpress.org\/support\/wp-json\/wp\/v2\/topic\/81882\/revisions\/82028"}],"wp:attachment":[{"href":"https:\/\/es.wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=81882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}