{"id":2360,"date":"2023-07-31T09:00:00","date_gmt":"2023-07-31T14:00:00","guid":{"rendered":"http:\/\/racmanuel.dev\/?p=2360"},"modified":"2023-07-30T23:05:52","modified_gmt":"2023-07-31T04:05:52","slug":"como-incluir-advanced-custom-fields-gratuito-en-un-plugin-personalizado-de-wordpress-con-composer","status":"publish","type":"post","link":"https:\/\/racmanuel.dev\/en\/como-incluir-advanced-custom-fields-gratuito-en-un-plugin-personalizado-de-wordpress-con-composer\/","title":{"rendered":"How to include Advanced Custom Fields (Free) in a custom WordPress plugin with Composer?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Incluir ACF Pro en un proyecto de WordPress a trav\u00e9s de Composer, actualmente ya es una tarea f\u00e1cil, pero recientemente en un proyecto de un cliente necesitaba incluir la versi\u00f3n gratuita de Advanced Custom Fields en un plugin en el que estoy trabajando para \u00e9l. WordPress Packagist proporciona la capacidad de hacer esto muy f\u00e1cilmente cuando est\u00e1 ejecutando Composer en una instalaci\u00f3n de WordPress, pero de forma predeterminada instalar\u00e1 cualquier dependencia del complemento en: \/wp-content\/themes en este peque\u00f1o tutorial te mostrare como incluir la version de Advanced Custom Fields en un plugin personalizado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui est\u00e1n las l\u00edneas de c\u00f3digo que debes a\u00f1adir a tu archivo composer.json esto modificar\u00e1 esa ruta de acceso a del plugin a: \/vendor.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n    \"repositories\":[\n        {\n            \"type\": \"composer\",\n            \"url\": \"https:\/\/wpackagist.org\"\n        }\n    ],\n    \"extra\": {\n        \"installer-paths\": {\n            \"vendor\/{$name}\/\": [\n                \"type:wordpress-plugin\"\n            ]\n        }\n    },\n    \"require\": {\n        \"wpackagist-plugin\/advanced-custom-fields\": \"^5.9\"\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Puede instalar cualquier complemento de WordPress con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">composer require \"wpackagist\/hello-dolly\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">ACF tambi\u00e9n proporciona orientaci\u00f3n sobre&nbsp;<a href=\"https:\/\/www.advancedcustomfields.com\/resources\/including-acf-within-a-plugin-or-theme\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">c\u00f3mo incluir su complemento en su proyecto<\/a>, por lo que aqu\u00ed hay una versi\u00f3n modificada que funciona con la configuraci\u00f3n de Composer anterior:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">if( ! class_exists( 'ACF' ) ) {\n    \/\/ Define path and URL to the ACF plugin.\n    define( 'MY_ACF_PATH', PLUGIN_DIR_PATH . '\/vendor\/advanced-custom-fields\/' );\n    define( 'MY_ACF_URL', PLUGIN_DIR_URL . '\/vendor\/advanced-custom-fields\/' );\n    \/\/ Include the ACF plugin.\n    include_once( MY_ACF_PATH . 'acf.php' );\n    \/\/ Customize the url setting to fix incorrect asset URLs.\n    add_filter( 'acf\/settings\/url', function( $url ) {\n        return MY_ACF_URL;\n    } );\n    \/\/ (Optional) Hide the ACF admin menu item.\n    add_filter( 'acf\/settings\/show_admin', function( $show_admin ) {\n        return false;\n    } );\n}<\/code><\/pre>\n\n\n<style><\/style><style><\/style>\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-large-font-size\" id=\"necesitas-ayuda-con-un-proyecto-web\">\u00bfNecesitas ayuda con un proyecto web?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Si \u00bfNecesitas ayuda con alg\u00fan proyecto web? No dudes en contactarme desarrollo soluciones completas y personalizadas con WordPress y PHP, con herramientas y procesos modernos, utilizando HTML, CSS, SCSS, PHP, JavaScript, Bootstrap y m\u00e1s\u2026 Si \u00bfEst\u00e1s listo? \u00a1Env\u00edame un mensaje y hablemos de tu proyecto web!<\/p>\n\n\n<div class=\"wp-block-groundhogg-forms\">\n\t<div class=\"gh-form-wrapper\"><form method=\"post\" class=\"gh-form gh-form-v2\" target=\"_parent\" enctype=\"multipart\/form-data\" name=\"Formulario de Contacto\" id=\"gh-form-24\" data-id=\"24\"><div class=\"gh-form-fields\"><div class=\"gh-form-column col-1-of-2\"><label for=\"first_name\">Nombre <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"first_name\" id=\"first_name\" class=\"gh-input gh-first-name\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-2\"><label for=\"last_name\">Apellido(s) <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"last_name\" id=\"last_name\" class=\"gh-input gh-last-name\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"email\">Correo electr\u00f3nico <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"email\" name=\"email\" id=\"email\" class=\"gh-input gh-email\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"primary_phone\">Tel\u00e9fono o WhatsApp <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"tel\" name=\"primary_phone\" id=\"primary_phone\" class=\"gh-input\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"nombre_de_tu_negocio_o_empresa\">Nombre de tu Negocio o Empresa<\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"nombre_de_tu_negocio_o_empresa\" id=\"nombre_de_tu_negocio_o_empresa\" class=\"gh-input\" value=\"\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"link_de_tu_pagina_web\">Link de tu pagina web<\/label><div class=\"gh-form-input-field\"><input type=\"url\" name=\"link_de_tu_pagina_web\" id=\"link_de_tu_pagina_web\" class=\"gh-input\" value=\"\" placeholder=\"Si tu negocio o empresa tiene p\u00e1gina web ingresa aqu\u00ed el link.\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"question_type\">\u00bfQu\u00e9 tipo de pregunta tienes? <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><select name=\"question_type\" id=\"question_type\" class=\"gh-input\" required><option value=\"Cotizaci\u00f3n\">Cotizaci\u00f3n<\/option><option value=\"General\">General<\/option><option value=\"Soporte\">Soporte<\/option><\/select><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"message\">Pregunta <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><textarea name=\"message\" id=\"message\" class=\"gh-input\" rows=\"7\" placeholder=\"Tu pregunta o duda...\" type=\"text\" required><\/textarea><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><div class=\"consent gh-gdpr\" id=\"gdpr_consent\"><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"data_processing_consent\" id=\"data-processing-consent\" class=\"\" value=\"yes\" required\/><span class=\"checkbox-label\">I agree to racmanuel.dev&#8217;s storage and processing of my personal data. <span class=\"required\">*<\/span><\/span><\/label><\/div><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"marketing_consent\" id=\"marketing-consent\" class=\"\" value=\"yes\"\/><span class=\"checkbox-label\">I agree to receive marketing offers and updates from racmanuel.dev.<\/span><\/label><\/div><\/div><\/div><div class=\"gh-form-column col-1-of-3\"><button type=\"submit\" class=\"gh-submit gh-button primary\" value=\"\">\u00a1P\u00f3ngase en contacto!<\/button><\/div><\/div><\/form><\/div><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Incluir ACF Pro en un proyecto de WordPress a trav\u00e9s de Composer, actualmente ya es una tarea f\u00e1cil, pero recientemente en un proyecto de un cliente necesitaba incluir la versi\u00f3n gratuita de Advanced Custom Fields en un plugin en el que estoy trabajando para \u00e9l. WordPress Packagist proporciona la capacidad de hacer esto muy f\u00e1cilmente cuando est\u00e1 ejecutando Composer en una instalaci\u00f3n de WordPress, pero de forma predeterminada instalar\u00e1 cualquier dependencia del complemento en: \/wp-content\/themes en este peque\u00f1o tutorial te mostrare como incluir la version de Advanced Custom Fields en un plugin personalizado.<\/p>","protected":false},"author":1,"featured_media":2451,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","_glsr_average":0,"_glsr_ranking":0,"_glsr_reviews":0,"footnotes":""},"categories":[48],"tags":[42],"niveles":[38],"class_list":["post-2360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales","tag-wordpress","niveles-intermedio"],"blocksy_meta":[],"acf":[],"_links":{"self":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/2360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/comments?post=2360"}],"version-history":[{"count":5,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/2360\/revisions"}],"predecessor-version":[{"id":2454,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/2360\/revisions\/2454"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media\/2451"}],"wp:attachment":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media?parent=2360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/categories?post=2360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/tags?post=2360"},{"taxonomy":"niveles","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/niveles?post=2360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}