metabolism / wordpress-bundle

Use Wordpress and Symfony together using a Symfony bundle
MIT License
62 stars 17 forks source link

Erreurs sur la gestion des thèmes - Errors on the management of themes #20

Closed celtic34fr closed 12 months ago

celtic34fr commented 3 years ago

Bonjour, et en premier super travail avec ce bundle bien utile.

Je dois porter à votre attention quelques problèmes : -> via composer, l'installation de plugins fonctionne correctement, mais pas pour les thèmes : les plugins sont bien installés dans public/wp-bundle/plugins, comme le fait également l'installation via Wordpress, pour les thèmes, il devrait les installer dans public/wp-bundle/themes. L'installation de thèmes via composer les installent dans wp-content/themes. L'installation via Wordpress elle ne fonctionne pas du tout. De plus, le menu Appance ne contient pas l'accès à la gestion des thèmes (activation - désactivation - suppression - ajout) même si la page Php existe. Si l'on y accède par l'url : edition/wp-admin/themes.php, les thèmes sont recherché dans public/wp-bundle/themes, dossier qui l'existe pas. Sous Linux en réalisant un lien symbolique en wp-content/themes (source) et public/wp-bundle/themes (cible), la page fonctionne et permet d'avoir le thème installé via composer. Toutefois, les thèmes installés de base dans public/edition/wp-content/themes ne sont pas pris en compte, comme le plugin akismet dans public/edition/wp-content/plugins.

Serait-il possible de faire que pour les plugins et les thèmes tout se passe dans le dossier public/wp-bundle ? Ceci dans le but de centraliser la gestion d'objets de même type. Et faire de ce fait pointer les recherches de la page Php edition/wp-admin/themes.php vers public/wp-bundle/themes ? Cela induit le transferts des fichiers présent dans les dossiers public/edition/wp-content/plugins et public/edition/wp-content/thèmes dans les dossiers correspondant dans public/wp-bundle. Dans un second temps, serait-il possible d'avoir la même fonctionnalité pour les thèmes que l'existante pour les plugins : installation par composer ou via Wordpress sans erreur ?

Merci d'avance pour le temps que vous pourrez consacrer à cette demande.


Hello, and first great job with this useful bundle.

I have to bring to your attention a few issues: -> via composer, the installation of plugins works correctly, but not for themes: plugins are well installed in public/wp-bundle/plugins, as also does installation via Wordpress, for themes it should install them in public/wp-bundle/themes. Installing themes via composer installs them in wp-content/themes. The installation via Wordpress it does not work at all. In addition, the Appance menu does not contain access to theme management (activation - deactivation - deletion - addition) even if the Php page exists. If you access it by the url: edition/wp-admin/themes.php, the themes are looked for in public/wp-bundle/themes, folder which does not exist. Under Linux by making a symbolic link in wp-content/themes (source) and public/wp-bundle/themes (target), the page works and allows you to have the theme installed via composer. However, themes installed in public/edition/ wp-content/themes are not taken into account, such as the akismet plugin in public/edition/wp-content/plugins.

Would it be possible to make plugins and themes all go to the public/wp-bundle folder? This in order to centralize the management of objects of the same type. And thus make the searches of the page Php edition/wp-admin/themes.php point to public/wp-bundle/themes? This induces the transfer of the files present in the public/edition/wp-content/plugins and public/edition/wp-content/themes folders in the corresponding folders in public/wp-bundle. Secondly, would it be possible to have the same functionality for themes as the existing one for plugins: installation by composer or via Wordpress without error?

Thank you in advance for the time you can devote to this request.

Cordialement, Celtic34fr Béziers - France

jerome-barbato commented 3 years ago

Hello, thank you for your message and kind words. Maybe it's not that clear in the documentation but theme management when using this bundle is disabled by design because of Symfony.

Could you explain me why you need this ? Thank you

celtic34fr commented 3 years ago

just to go futher in use Wordpress system : Wordpress propose interesting themes au plugins that it was so cool to use out of the box.

Cordialement, Celtic34fr Béziers - France

celtic34fr commented 3 years ago

Retour sur mes expérimentations et développement : -> on peut mettre en place un thème WordPress (Enfold pour mon cas) moyennant de réaliser quelques templates pour reprendre la structure du code Php du thème WordPress, et en faisant quelques liens d'appel des méthodes du thème installé au travers d'une extension spécifique à Twig. -> afin de disposer des données de base pour avoir les paramètres du thème WordPress installé, j'ai étendu le service Context au niveau du Trait pour : 1/ ajouter une accès via PDO à la base de données WordPress 2/ en intégrant les paramètres du thème WordPress stockés dans la table wp_options -> pour certaines pages, j'ai repris le formalisme des menus en sortie pour avoir les mêmes présentation avec succès

Même si cela implique de la programmation niveau Trait, template et services, il est possible alors d'utiliser WordPress normalement et intégrant des pages métiers sans trop de soucis, hors ceux de communication avec le client ou les personnes ayant à définir le process que WordPress ne peut facilement satisfaire.

Je reste à votre disposition si vous désirez plus d'information et de retour d'expérience de ma part.

Feedback on my experiments and developments: -> we can set up a WordPress theme (Enfold in my case) by making some templates to use the PHP code structure of the WordPress theme, and by making some links to call the theme methods installed via a specific Twig extension (functions and filters). -> in order to have the basic data to have the parameters of the WordPress theme installed, I extended the Context service (the php trait) to: 1 / add access via PDO to the WordPress database, 2 / by integrating the parameters of the WordPress theme stored in the wp_options table. -> for some pages, I used the same formalism of the output menus to have the same look and feel, with success

Even if it is programming at the Trait, template and services level, it is then possible to use WordPress normally and integrate business pages without too many worries, except those of communication with the customer or the people who must define the process that WordPress cannot easily satisfy.

I remain at your disposal if you need more information and comments from me.

Celtic34fr Gilbert ARMENGAUD Béziers, Occitanie, France

jerome-barbato commented 2 years ago

Hi @celtic34fr, is it possible to link here or send me by email jerome{a}metabolism.fr the edit you have made ? I'm really looking forward to your edit to see what I can integrate on the bundle. Thank you !

celtic34fr commented 2 years ago

Bonsoir Jérôme,

Il m'est difficile de mettre quelque lien que ce soit vers mon travail car je ne l'ai pas encore terminé (question de processus métier à finaliser). Deplus, je ne pense pas que mon client soit très ouvert à cela. Toutefois, je peux vous envoyer ou mettre à disposition le code du Trait et de l'extension principale à Twig, car elles n'ont aucun rapport au métier ou au choix de thème de mon client.

Je reste à votre disposition si vous désirez plus d'information.

Hello Jerome,

It is difficult for me to put any link whatsoever to my work because I have not finished it yet (question of business process to be finalized). Plus, I don't think my client is very open to that. However, I can send you or make the code for the Trait and the main extension available to Twig, because they have no relation to my client's business or theme choice.

I remain at your disposal if you want more information.

Celtic34fr Gilbert ARMENGAUD Béziers, Occitanie, France

jerome-barbato commented 2 years ago

Going back @celtic34fr to this thread, to install theme in the right folder ( wp-bundle ) juste add a line to change the theme installer path. I will make an update in the 2.0 to make theme usage less painful ( even if it's not the purpose of this bundle )

"extra": { "installer-paths": { "public/wp-bundle/mu-plugins/{$name}/": ["type:wordpress-muplugin"], "public/wp-bundle/plugins/{$name}/": ["type:wordpress-plugin"], "public/wp-bundle/themes/{$name}/": ["type:wordpress-theme"], "public/edition/": ["type:wordpress-core"] } }