Neu ACF | Advanced Custom Fields Pro Unterstützung (Mit Workaround)

Jann

Aktives Mitglied
16. November 2017
7
3
Hi, ich bin sehr froh, dass der neue Connector nun auch endlich Advanced Custom Fields unterstützt und JTL somit viel besser in Woocommerce integrieren kann.

Leider fehlt aktuell noch der Hinweis, dass die besonders häufig genutzte ACF Pro version NICHT unterstützt wird. Erst der Hinweis von @swissguy01 im Forenpost (Evaluierung) Advanced Custom Fields Plugin unterstützen hat mir die entscheidende Info gegeben, dass hier tatsächlich unterschieden wird zwischen "Free" und "Pro".

Ich hoffe, dass die Entwickler vom Connector da schon dran sind.

Für alle die nicht auf ACF Pro für die Seitenadministration verzichten können, aber trotzdem gerne jetzt schon ihre Produkt Custom Fields per JTL synchronisieren möchten, gibt's aber einen sehr einfachen Workaround:

Ändert in der Connector Plugindatei unter wp-content/plugins/woo-jtl-connector/src/Utilities/SupportedPlugins.php die Zeile 44 von:
PHP:
PLUGIN_ADVANCED_CUSTOM_FIELDS                              = 'Advanced Custom Fields',
in
PHP:
PLUGIN_ADVANCED_CUSTOM_FIELDS                              = 'Advanced Custom Fields PRO',

Man muss hier natürlich bedenken, das PRO features wie Repeater/Wiederholungsfelder etc. nicht unterstützt werden. Zumindest hab ich es damit nicht synchronisiert bekommen.
Außerdem wird diese manuelle Änderung natürlich beim nächsten Connector Plugin Update überschrieben, sodass man die Datei noch mal anpassen muss.


An die Entwickler, falls jemand mitliest:
Selbst wenn Repeaterfelder etc. nicht gut umsetzbar sein sollten, setzt den obigen String für die Pro version doch zusätzlich mit rein und schreibt in der Dokumentation und im Plugin-Dashboard den Hinweis, welche Feldtypen unterstützt werden (und welche nicht).
 

swissguy01

Offizieller Servicepartner
SPBanner
14. Januar 2022
120
31
Gross, Schweiz
Firma
seo-webdesign-coaching.ch
Danke für den Hinweis.

Wenn jetzt plötzlich die ACF Felder nicht mehr funktionieren, könnte dies der Grund sein (war bei zwei Shops bei uns der Fall)

Wordpress.org hat anscheinend den Sourcecode ohne Rücksprache übernommen (ohne Einwilligung der Entwickler) und das Plugin umbenannt: "Secure Custom Fields" (SCF)
Weitere Infos dazu hier: https://www.advancedcustomfields.com/

Ihr müsst obige Änderung wieder anpassen, oder die Verwendung des originalen ACF Plugin, einfach die Anleitung auf der Website folgen.
 

Jann

Aktives Mitglied
16. November 2017
7
3
Stimmt, die Implementierung des Plugin-Checks im JTL Connector ist aber auch nicht ganz der Wordpress-Way. Der angezeigte Name/Titel des Plugins kann sich in schonmal ändern, daher wird normalerweise der Name der Plugin-Hauptdatei als identifier benutzt: https://developer.wordpress.org/reference/functions/is_plugin_active/
PHP:
if(is_plugin_active('advanced-custom-fields/acf.php')){
    //ACF / SCF ist aktiv
}

if(is_plugin_active('advanced-custom-fields-pro/acf.php')){
    //ACF Pro ist aktiv
}

Für ACF gibt's aber noch eine bessere Variante, die ACF / SCF / ACF Pro zusammen abdeckt:

PHP:
if( class_exists('ACF') ){
    //ACF / SCF / ACF Pro ist aktiv
}

@Patrick Gugelsberger Vielleicht kann das ja mal jemand an die Entwickler weitergeben.
 
  • Gefällt mir
Reaktionen: swissguy01