Staffan Estberg
He estado buscando una manera de sincronizar FCA campos a través de sitios en un sitio múltiple de WordPress. Hay 5 sitios con contenido individual pero todos usan los mismos campos ACF. Prefiero evitar tener que crear y agregar manualmente estos nuevos campos en cada sitio.
¿Hay una solución?
Usando WP 4.8 y ACF Pro 5.5.1.4
Ben Löffel
Dado que está utilizando ACF Pro, puede utilizar la función “Exportar/Importar”.
- Red Activar campos personalizados avanzados
- Cree grupos de campos en el sitio principal a través del menú de campos personalizados.
- Usar campos personalizados -> Exportar, seleccionar todos los grupos de campos, Exportar a PHP
- Pegue el PHP en las funciones de su tema (hijo).php
- Regrese y elimine los campos del sitio principal para que no haya duplicados.
Ahora tiene campos ACF disponibles en toda la red.
Estuve pensando en esto mismo un par de veces antes y llegué a la conclusión de que lo más fácil sería crear un repositorio de github con un conjunto de archivos acf-field-name.php y luego traer esos repositorios como submódulos a cada uno de sus proyectos. Si coloca estos archivos php en la carpeta acf dentro de su carpeta de temas y usa la función dentro de functions.php como esta
function getAcfFileNames()
{
return array(
'acf-one',
'acf-two',
'acf-three',
);
}
function add_php_acf_field_groups()
{
$fileNames = getAcfFileNames();
foreach ($fileNames as $fileName) {
include_once 'acf/' . $fileName . '.php';
}
}
;
add_action('acf/init', 'add_php_acf_field_groups');
Eso debería funcionar bien. Y si desea editar esos archivos acf.php dentro del proyecto, puede usar -> https://github.com/BeAPI/ACF-PHP-Recuperación para recuperar el archivo php localmente y actualizarlo. Después de eso, simplemente exporte el archivo y confírmelo a su repositorio ACF.
Aparte de eso, lamentablemente no he encontrado una solución mejor.
Hay un gran Gist de Jesse Pearson que sincroniza automáticamente todos los archivos acf-json cuando el administrador inicia sesión:
https://gist.github.com/jessepearson/a537b2f78556cd705947
En los comentarios a la esencia también puede encontrar varias mejoras en el código, ¡cuidado con eso!
Me ahorró un montón de tiempo.
Puede sincronizar los campos sin problemas, siempre que los adjunte a nombres de plantillas y no a páginas o publicaciones específicas.
https://www.advancedcustomfields.com/resources/synchronized-json/
Simplemente haga un cambio rápido en su archivo function.php.
https://www.advancedcustomfields.com/resources/local-json/
Utilicé el método de código PHP exportado cuando terminé de trabajar localmente y quiero actualizar un tema de producción.
¿has probado? github.com/tmconnect/acf-relación-multisitio
– Touqeer Shafi
20 de julio de 2017 a las 12:54