{"id":233624,"date":"2023-02-19T14:03:00","date_gmt":"2023-02-19T11:03:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233624"},"modified":"2022-11-11T00:42:20","modified_gmt":"2022-11-10T21:42:20","slug":"skapa-anpassade-woocommerce-produktflikar-med-avancerade-anpassade-faelt","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/skapa-anpassade-woocommerce-produktflikar-med-avancerade-anpassade-faelt\/","title":{"rendered":"Skapa anpassade WooCommerce-produktflikar med avancerade anpassade f\u00e4lt"},"content":{"rendered":"\n<p>N\u00e4r du tittar p\u00e5 en produkt i <a href=\"https:\/\/woocommerce.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WooCommerce visas<\/a> information om produkten i flikar. Dessa flikar \u00e4r fixade och genererade av WooCommerce, utanf\u00f6r din kontroll. Det h\u00e4r inl\u00e4gget kommer att visa dig hur du l\u00e4gger till kod som g\u00f6r att f\u00f6rfattarna kan l\u00e4gga till anpassade flikar med anpassat inneh\u00e5ll till produkter.<\/p>\n<p>Ansvarsfriskrivning: Det finns ett WooCommerce-till\u00e4gg som heter <a href=\"https:\/\/woocommerce.com\/products\/woocommerce-tab-manager\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WooCommerce Tab Manager<\/a> som tillhandah\u00e5ller den h\u00e4r funktionen. Det \u00e4r dock inte gratis. Jag har inte testat det sj\u00e4lv, men s\u00e5vitt jag kan se st\u00f6der det bara en WYSIWYG-redigerare (det du ser \u00e4r vad du f\u00e5r) f\u00f6r flikens inneh\u00e5ll. Det h\u00e4r inl\u00e4gget \u00e4r f\u00f6r dig som vill ha mer finjustering av flikens inneh\u00e5ll eller vill skriva koden sj\u00e4lv utan att betala f\u00f6r ytterligare ett plugin.<\/p>\n<p>Vi kommer att anv\u00e4nda plugin -programmet <a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Advanced Custom Fields<\/a> (ACF) f\u00f6r att f\u00f6renkla processen. Men du borde ganska enkelt kunna ers\u00e4tta ACF:s del med din egen anpassade kod om du inte vill anv\u00e4nda plugin. ACF kommer i en <a href=\"https:\/\/wordpress.org\/plugins\/advanced-custom-fields\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gratisversion<\/a> och en <a href=\"https:\/\/www.advancedcustomfields.com\/pro\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Pro-version<\/a>. I ACF Pro finns en fiffig f\u00e4lttyp: repeatern, som \u00e4r perfekt f\u00f6r den h\u00e4r typen av anv\u00e4ndning. Om du d\u00e4remot inte har eller vill k\u00f6pa en Pro-licens, oroa dig inte. Kodhandledningen nedan visar dig hur du l\u00e4gger till f\u00e4lt med b\u00e5de gratisversionen &#8211; och med repeatern i Pro-versionen.<\/p>\n<p>Om du inte redan \u00e4r bekant med ACF, vad ACF hj\u00e4lper oss med \u00e4r enkel installation av post-metaf\u00e4lt \u2013 av alla slag. Du kan enkelt l\u00e4gga till en redigerare, en filv\u00e4ljare, datum- eller f\u00e4rgv\u00e4ljare, ett inl\u00e4gg eller kategoriv\u00e4ljare med st\u00f6d f\u00f6r flera val och omordning och mer. Vi kan uppn\u00e5 samma sak utan ACF men d\u00e5 skulle vi beh\u00f6va koda visningen och spara av metaboxars inneh\u00e5ll sj\u00e4lva.<\/p>\n<h2>Vad vi ska g\u00f6ra<\/h2>\n<p>F\u00f6r att uttrycka det enkelt vill vi till\u00e5ta att l\u00e4gga till anpassade flikar i produktvyn. Varje flik st\u00f6der en titel som visas som fliketikett och inneh\u00e5llet som visas n\u00e4r du klickar p\u00e5 fliken. De anpassade flikarna beror verkligen p\u00e5 vilken typ av projekt eller behov du har; kanske beh\u00f6ver du flikar f\u00f6r tekniska specifikationer, en flik med filer (t.ex. anv\u00e4ndarmanualer och s\u00e5dant), ytterligare information eller en anpassad fr\u00e5ga som visar relaterade produkter.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e196664e9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e196664e9.png\" alt=\"Skapa anpassade WooCommerce-produktflikar med avancerade anpassade f\u00e4lt\" ><\/a><\/p>\n<p>I den h\u00e4r handledningen kommer vi att h\u00e5lla det enkelt genom att l\u00e4gga till en WYSIWYG-redigerare f\u00f6r flikens inneh\u00e5ll. Som n\u00e4mnts ovan \u00e4r det l\u00e4tt att implementera andra f\u00e4lttyper (t.ex. filer eller en inl\u00e4ggsfr\u00e5ga), det \u00e4r bara en skillnad i koden du skriver f\u00f6r som visas p\u00e5 flikens inneh\u00e5ll \u2013 vilket inte \u00e4r relaterat till denna handledning.<\/p>\n<p>Om du har ACF Pro och vill anv\u00e4nda repeatern f\u00f6r att enkelt l\u00e4gga till flera flikar; hoppa \u00f6ver n\u00e4sta avsnitt. Om du bara har gratisversionen av ACF, forts\u00e4tt. Nackdelen med att inte ha repeaterf\u00e4ltet \u00e4r att du m\u00e5ste definiera ett fast antal flikar. S\u00e5 f\u00f6rfattaren kan inte g\u00f6ra obegr\u00e4nsat antal flikar som de kan med repeatern. Men den h\u00e4r gratisl\u00f6sningen kommer att fungera utm\u00e4rkt i webbutiker d\u00e4r du bara vill ha specifika (antal) anpassade flikar.<\/p>\n<h2>Handledning f\u00f6r ACF gratis version<\/h2>\n<h3>L\u00e4gger till ACF-f\u00e4lten<\/h3>\n<p>Att l\u00e4gga till en ny metabox med f\u00e4lt i \u00e4r v\u00e4ldigt enkelt med ACF. Du har tv\u00e5 alternativ; anv\u00e4nd ACF:s anv\u00e4ndargr\u00e4nssnitt f\u00f6r att st\u00e4lla in allt, eller l\u00e4gg till f\u00e4lten med kod. Vanligtvis \u00e4r det r\u00e4tt v\u00e4g att st\u00e4lla in f\u00e4lten i admin. Men om du beh\u00f6ver f\u00f6rs\u00e4kra dig om att f\u00e4lten finns p\u00e5 flera WordPress-webbplatser (t.ex. utveckling av lokalv\u00e4rd, testserver och liveserver) kan du ha nytta av att l\u00e4gga till f\u00e4lten med kod i ditt tema eller plugin.<\/p>\n<p>Du m\u00e5ste st\u00e4lla in f\u00f6ljande:<\/p>\n<ul>\n<li>En grupp som visar n\u00e4r inl\u00e4ggstypen \u00e4r lika med WooCommerce-produkter<\/li>\n<li>En textinmatning f\u00f6r fliktiteln<\/li>\n<li>Vilket\/vilka f\u00e4lt du \u00e4n vill ha f\u00f6r flikens inneh\u00e5ll. Som ett exempel l\u00e4gger vi till en WYSIWYG-redigerare.<\/li>\n<li>(Valfritt) Ytterligare fliktitlar och flikinneh\u00e5ll f\u00f6r s\u00e5 m\u00e5nga flikar vi vill st\u00f6dja.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e197a93a6.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e197a93a6.png\" alt=\"Skapa anpassade WooCommerce-produktflikar med avancerade anpassade f\u00e4lt\" ><\/a><\/p>\n<p>V\u00e4nligen notera att komma ih\u00e5g f\u00e4ltnamnen eftersom du beh\u00f6ver h\u00e4nvisa till dem senare. Jag har definierat fliktiteln som <code>tab_title<\/code>och WYSIWYG-f\u00e4ltet som <code>tab_contents<\/code>.<\/p>\n<p>Om du hellre vill l\u00e4gga till f\u00e4lten med kod, h\u00e4r \u00e4r ett exempel. L\u00e4gg till detta i ditt tema <code>functions.php<\/code>eller plugin-fil:<\/p>\n<pre><code>if (class_exists('acf')) {\n    add_action('acf\/init', function() {\n        $fields = [\n            [\n                'key' =&gt; 'field_tab_title',\n                'label' =&gt; __('Custom tab title', 'txtdomain'),\n                'name' =&gt; 'tab_title',\n                'type' =&gt; 'text',\n            ],\n            [\n                'key' =&gt; 'field_tab_contents',\n                'label' =&gt; __('Custom tab content', 'txtdomain'),\n                'name' =&gt; 'tab_contents',\n                'type' =&gt; 'wysiwyg',\n                'tabs' =&gt; 'all',\n                'toolbar' =&gt; 'full',\n                'media_upload' =&gt; 1,\n                'delay' =&gt; 0,\n            ],\n        ];\n\u00a0\n        acf_add_local_field_group([\n            'key' =&gt; 'group_custom_woocommerce_tabs',\n            'title' =&gt; __('Custom Tabs', 'txtdomain'),\n            'fields' =&gt; $fields,\n            'label_placement' =&gt; 'top',\n            'menu_order' =&gt; 0,\n            'style' =&gt; 'default',\n            'position' =&gt; 'normal',\n            'location' =&gt; [\n                [\n                    [\n                        'param' =&gt; 'post_type',\n                        'operator' =&gt; '==',\n                        'value' =&gt; 'product'\n                    ]\n                ]\n            ],\n        ]);\n    });\n}<\/code><\/pre>\n<p>Om du vill ha mer \u00e4n bara en flik l\u00e4gger du bara till ytterligare en upps\u00e4ttning flikrubriker och flikinneh\u00e5ll efter <code>line #19<\/code>. Kom bara ih\u00e5g att h\u00e5lla <code>name<\/code>unik.<\/p>\n<p>N\u00e4r vi redigerar en produkt b\u00f6r vi se denna metabox visas:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e198aac0f.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e198aac0f.png\" alt=\"Skapa anpassade WooCommerce-produktflikar med avancerade anpassade f\u00e4lt\" ><\/a><\/p>\n<h3>Utmatning av dina anpassade flikar<\/h3>\n<p>WooCommerce l\u00e5ter oss filtrera <code>woocommerce_product_tabs<\/code>f\u00f6r att manipulera flikar. Som argument till detta filter f\u00e5r du en array f\u00f6r alla flikar. Arrayen best\u00e5r av arrayer f\u00f6r varje flik med unika nycklar. Men arrayen f\u00f6r varje flik inneh\u00e5ller inte den faktiska utmatningen av flikinneh\u00e5llet. Ist\u00e4llet f\u00f6rv\u00e4ntar den sig en callback \u2013 ett namn p\u00e5 en funktion som WooCommerce kommer att k\u00f6ra f\u00f6r att mata ut flikens inneh\u00e5ll.<\/p>\n<p>V\u00e4l inne i funktionen kan du anv\u00e4nda <code>global $post<\/code>f\u00f6r att f\u00e5 tillg\u00e5ng till det aktuella postobjektet, eller om du vill att produktobjektet WooCommerce genererar g\u00f6r du helt enkelt <code>global $product<\/code>. Vi beh\u00f6ver post-ID f\u00f6r att h\u00e4mta v\u00e4rdet p\u00e5 v\u00e5ra anpassade f\u00e4lt med ACF:s funktion <code>[get_field](https:\/\/www.advancedcustomfields.com\/resources\/get_field\/)()<\/code>. I kodexemplet nedan h\u00e4mtar vi bara fliktiteln och kontrollerar om denna \u00e4r tom eller inte. Om den inte \u00e4r det l\u00e4gger den till en ny flik till arrayen. Det \u00e4r vettigt att inte l\u00e4gga till flikar d\u00e4r fliktiteln \u00e4r tom.<\/p>\n<pre><code>if (class_exists('acf') &amp;&amp; class_exists('WooCommerce')) {\n    add_filter('woocommerce_product_tabs', function($tabs) {\n        global $post, $product;  \/\/ Access to the current product or post\n        $custom_tab_title = get_field('tab_title', $post-&gt;ID);\n\u00a0\n        if (!empty($custom_tab_title)) {\n            $tabs['awp-'. sanitize_title($custom_tab_title)] = [\n                'title' =&gt; $custom_tab_title,\n                'callback' =&gt; 'awp_custom_woocommerce_tabs',\n                'priority' =&gt; 10\n            ];\n        }\n        return $tabs;\n    });\n\u00a0\n    function awp_custom_woocommerce_tabs($key, $tab) {\n        global $post;\n\u00a0\n        ?&gt;&lt;h2&gt;&lt;?php echo $tab['title']; ?&gt;&lt;\/h2&gt;&lt;?php\n\u00a0\n        $custom_tab_contents = get_field('tab_contents', $post-&gt;ID);\n        echo $custom_tab_contents;\n    }\n}<\/code><\/pre>\n<p>Observera att du kan anv\u00e4nda &#8217; <code>priority<\/code>&#8217; f\u00f6r att styra flikens position. Om du till exempel st\u00e4ller in den till 1 kommer din flik att visas f\u00f6rst, f\u00f6re alla WooCommerces flikar. Definiera ett funktionsnamn f\u00f6r <code>callback<\/code>elementet &#8217; &#8217;. I rad <code>#17<\/code>definierar vi funktionen som WooCommerce kommer att k\u00f6ra f\u00f6r att mata ut flikinneh\u00e5llet.<\/p>\n<p>Dessa flik\u00e5teruppringningsfunktioner kommer att f\u00e5 tv\u00e5 parametrar; nyckeln och matriselementet f\u00f6r alla v\u00e4rden f\u00f6r den aktuella fliken. Inuti v\u00e5r callback-funktion matar vi ut fliktiteln igen, genom att h\u00e4nvisa till den tillhandah\u00e5llna <code>$tab<\/code>arrayen. WooCommerce ekar deras fliktitlar inuti en <code>h2<\/code>s\u00e5 vi g\u00f6r bara detsamma. Och sedan anv\u00e4nder vi <code>get_field()<\/code>f\u00f6r att f\u00e5 v\u00e4rdet p\u00e5 flikinneh\u00e5llet och helt enkelt upprepa v\u00e4rdet. Justera linje <code>#23<\/code>f\u00f6r att passa vilken typ av f\u00e4lttyper du har lagt till (t.ex. postobjektv\u00e4ljare, bilder eller n\u00e5got annat).<\/p>\n<p>Observera att jag har packat in allt i en if-check som kontrollerar om b\u00e5de WooCommerce och ACF \u00e4r aktiverade eller inte. Detta \u00e4r god praxis f\u00f6r att f\u00f6rhindra att din webbplats g\u00e5r s\u00f6nder.<\/p>\n<p>Och <strong>det \u00e4r det<\/strong>! Du har nu skapat kod f\u00f6r att l\u00e4gga till anpassade WooCommerce-flikar!<\/p>\n<p>Om du vill g\u00f6ra detta med ACF Pros repeaterf\u00e4lt f\u00f6r att st\u00f6dja obegr\u00e4nsat antal flikar, l\u00e4s vidare.<\/p>\n<h2>Handledning f\u00f6r ACF Pro och repeater<\/h2>\n<h3>L\u00e4gger till ACF-f\u00e4lten<\/h3>\n<p>L\u00e4gg till din grupp med antingen ACF:s admin-gr\u00e4nssnitt eller l\u00e4gg till dem med kod i dina tema- eller plugin-filer. Vi beh\u00f6ver st\u00e4lla in f\u00f6ljande:<\/p>\n<ul>\n<li>En grupp som visar n\u00e4r inl\u00e4ggstypen \u00e4r lika med WooCommerce-produkt<\/li>\n<li>En repeater med f\u00f6ljande underf\u00e4lt:\n<ul>\n<li>En textinmatning f\u00f6r fliktiteln<\/li>\n<li>Vilket\/vilka f\u00e4lt du \u00e4n vill ha f\u00f6r flikens inneh\u00e5ll.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>S\u00e5 h\u00e4r skulle du st\u00e4lla in det med ACF admin:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e19a1ed6d.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e19a1ed6d.png\" alt=\"Skapa anpassade WooCommerce-produktflikar med avancerade anpassade f\u00e4lt\" ><\/a><\/p>\n<p>Eller s\u00e5 kan du l\u00e4gga till gruppen med kod s\u00e5 h\u00e4r:<\/p>\n<pre><code>if (class_exists('acf')) {\n    add_action('acf\/init', function() {\n        $fields = [\n            [\n                'key' =&gt; 'field_custom_tabs_repeater',\n                'label' =&gt; __('Custom tabs', 'txtdomain'),\n                'name' =&gt; 'custom_tabs_repeater',\n                'type' =&gt; 'repeater',\n                'layout' =&gt; 'row',\n                'button_label' =&gt; __('Add new tab', 'txtdomain'),\n                'sub_fields' =&gt; [\n                    [\n                        'key' =&gt; 'field_tab_title',\n                        'label' =&gt; __('Tab title', 'txtdomain'),\n                        'name' =&gt; 'tab_title',\n                        'type' =&gt; 'text',\n                    ],\n                    [\n                        'key' =&gt; 'field_tab_contents',\n                        'label' =&gt; __('Tab content', 'txtdomain'),\n                        'name' =&gt; 'tab_contents',\n                        'type' =&gt; 'wysiwyg',\n                        'tabs' =&gt; 'all',\n                        'toolbar' =&gt; 'full',\n                        'media_upload' =&gt; 1,\n                        'delay' =&gt; 0,\n                    ],\n                ],\n            ],\n        ];\n\u00a0\n        acf_add_local_field_group([\n            'key' =&gt; 'group_custom_woocommerce_tabs',\n            'title' =&gt; __('Custom Tabs', 'txtdomain'),\n            'fields' =&gt; $fields,\n            'label_placement' =&gt; 'top',\n            'menu_order' =&gt; 0,\n            'style' =&gt; 'default',\n            'position' =&gt; 'normal',\n            'location' =&gt; [\n                [\n                    [\n                        'param' =&gt; 'post_type',\n                        'operator' =&gt; '==',\n                        'value' =&gt; 'product'\n                    ]\n                ]\n            ],\n        ]);\n    });\n}<\/code><\/pre>\n<p>Hur som helst b\u00f6r du sluta med denna metabox n\u00e4r du redigerar produkter:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e19e02c1d.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152607-61e4e19e02c1d.png\" alt=\"Skapa anpassade WooCommerce-produktflikar med avancerade anpassade f\u00e4lt\" ><\/a><\/p>\n<h3>Utmatning av dina anpassade flikar<\/h3>\n<p>Att skriva ut dina anpassade flikar \u00e4r mycket likt det vi gjorde ovan i gratisversionen. Vi filtrerar <code>woocommerce_product_tabs<\/code>, men h\u00e4r g\u00e5r vi igenom varje upprepat objekt fr\u00e5n repeatern. Vi beh\u00f6ver ett s\u00e4tt att identifiera varje element i repeatern med nycklar, s\u00e5 vi genererar en nyckel sj\u00e4lva genom att anv\u00e4nda looppositionen och en slug-version av fliktiteln. I \u00e5teruppringningsfunktionen extraherar vi slingpositionen fr\u00e5n nyckeln och anv\u00e4nder denna f\u00f6r att referera till arrayen f\u00f6r v\u00e5r repeater.<\/p>\n<pre><code>if (class_exists('acf') &amp;&amp; class_exists('WooCommerce')) {\n    add_filter('woocommerce_product_tabs', function($tabs) {\n        global $post, $product;  \/\/ Access to the current product or post\n        $custom_tabs_repeater = get_field('custom_tabs_repeater', $post-&gt;ID);\n\u00a0\n        if (!empty($custom_tabs_repeater)) {\n            $counter = 0;\n            $start_at_priority = 10;\n            foreach ($custom_tabs_repeater as $custom_tab) {\n                $tab_id = $counter. '_'. sanitize_title($custom_tab['tab_title']);\n                $tabs[$tab_id] = [\n                    'title' =&gt; $custom_tab['tab_title'],\n                    'callback' =&gt; 'awp_custom_woocommerce_tabs',\n                    'priority' =&gt; $start_at_priority++\n                ];\n                $counter++;\n            }\n        }\n        return $tabs;\n    });\n\u00a0\n    function awp_custom_woocommerce_tabs($key, $tab) {\n        global $post;\n\u00a0\n        ?&gt;&lt;h2&gt;&lt;?php echo $tab['title']; ?&gt;&lt;\/h2&gt;&lt;?php\n\u00a0\n        $custom_tabs_repeater = get_field('custom_tabs_repeater', $post-&gt;ID);\n        $tab_id = explode('_', $key);\n        $tab_id = $tab_id[0];\n\u00a0\n        echo $custom_tabs_repeater[$tab_id]['tab_contents'];\n    }\n}<\/code><\/pre>\n<p>Inuti v\u00e5r filterfunktion h\u00e4mtar vi v\u00e4rdet p\u00e5 repeatern och kontrollerar om den inte \u00e4r tom. Vi definierar sedan en r\u00e4knarvariabel, som b\u00f6rjar vid 0 (matriser b\u00f6rjar alltid med position 0), som vi \u00f6kar med 1 f\u00f6r varje element inuti slingan (vid linje <code>#18<\/code>). I slingan f\u00f6r varje repeaterobjekt tilldelar vi dem alla samma \u00e5teruppringningsfunktion. Vi anv\u00e4nder WordPress funktion <code>[sanitize_title](https:\/\/developer.wordpress.org\/reference\/functions\/sanitize_title\/)()<\/code>f\u00f6r att konvertera fliktiteln till en slug-version av den och l\u00e4gger till den i nyckeln.<\/p>\n<p>I v\u00e5r callback-funktion at line <code>#31 - 32<\/code>g\u00f6r vi n\u00e5gra enkla str\u00e4ngmanipulationer f\u00f6r att extrahera r\u00e4knarv\u00e4rdet (som b\u00f6rjar p\u00e5 0 och \u00f6kar med 1 f\u00f6r varje objekt). Vi anv\u00e4nder sedan helt enkelt detta som index f\u00f6r repeater-arrayen f\u00f6r att h\u00e4mta r\u00e4tt flikinneh\u00e5llsf\u00e4lt.<\/p>\n<p>Och <strong>det \u00e4r det<\/strong>! Du har nu implementerat ett obegr\u00e4nsat antal anpassade flikar till WooCommerce!<\/p>\n<p>Kom ih\u00e5g att du kan ers\u00e4tta WYSIWYG med vilken typ av f\u00e4lt som helst. Du beh\u00f6ver bara \u00e4ndra hur du matar ut f\u00e4ltet p\u00e5 raden <code>#23<\/code>.<\/p>\n<h2>Slutsats<\/h2>\n<p>Att skriva din egen kod f\u00f6r att l\u00e4gga till anpassade WooCommerce-flikar \u00e4r v\u00e4ldigt enkelt n\u00e4r du har f\u00f6rst\u00e5tt grundkonceptet f\u00f6r hur WooCommerce g\u00f6r det. Det kr\u00e4ver inte ens mycket kod. Det h\u00e4r \u00e4r en alldeles utm\u00e4rkt l\u00f6sning f\u00f6r dig som inte vill eller kan investera i f\u00f6rl\u00e4ngningslicenser eller bara beh\u00f6ver en enkel l\u00f6sning f\u00f6r din webshop.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En handledning i hur du kan l\u00e4gga till anpassade WooCommerce-flikar till produkter. Se hur enkelt det \u00e4r att g\u00f6ra detta med plugin-programmet Advanced Custom Fields och lite kod.<\/p>\n","protected":false},"author":1,"featured_media":224911,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[724,848,1110,818,818,848,724,858,858,868,868],"tags":[1173],"class_list":{"0":"post-233624","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-utvecklaren","8":"category-handledningar","9":"category-n-a","10":"category-plugins-3","14":"category-woocommerce-9","16":"category-wordpress-9","18":"tag-affiai-sv"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/233624","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=233624"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/233624\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/224911"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=233624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=233624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=233624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}