[Résolu] Problème avec la gestion des traduction des compositions (wp_block) depuis la version 6.6.2 : attri...
Ce sujet est résolu. Voici une description du problème et de la solution.
Problème : Après la mise à jour vers WP 6.6.3 et WPML 4.6.13, le bloc WPML ne s'affiche plus dans la sidebar pour générer la traduction des wp_block. Solution : Nous n'avons pas de solution permanente pour ce problème car la meta box ne sera plus présente à partir de WP 6.7. Cependant, vous pouvez utiliser cette solution de contournement : 1. Traduisez le bloc avec ATE via le Tableau de bord TM. 2. Accédez à
wp-admin/edit.php?post_type=wp_block
. 3. Sélectionnez la langue cible et cliquez sur "Modifier" pour le Modèle traduit dans la liste. 4. Le modèle s'ouvrira dans l'éditeur natif de WordPress. 5. Vérifiez que le rendu frontal fonctionne correctement.
Si cette solution ne fonctionne pas pour vous ou semble obsolète, nous vous recommandons de vérifier les problèmes connus, de vérifier la version du correctif permanent et de confirmer que vous avez installé les dernières versions des thèmes et plugins. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support sur notre forum de support.
Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.
Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.
Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.
Les langues: Anglais (English )Allemand (Deutsch )Français (Français )
Fuseau horaire: Europe/Zagreb (GMT+01:00)
Il semble qu'il n'y ait aucun lien direct dans le backend pour accéder à /wp-admin/edit.php?post_type=wp_block, ce qui signifie que vous devez connaître l'URL exacte pour la coller manuellement.
De plus, lorsque j'accède à /wp-admin/post.php?post=15978&action=edit&lang=fr, je peux voir le bloc de sélection de langue WPML.
D'après mes tests, l'ouverture du post directement via /wp-admin/edit.php?post_type=wp_block affiche bien le bloc de sélection de langue, que ce soit pour les administrateurs ou les éditeurs. Cependant, les éditeurs ne devraient pas avoir la possibilité de modifier ces blocs. Cela semble être une élévation de privilèges cachée, car les éditeurs ne devraient normalement pas avoir accès à cette URL.
Veuillez noter que la traduction des patterns (wp_block) doit être gérée via le tableau de bord de la Gestion des Traductions.
1/ Il semble qu'il n'y ait aucun lien direct dans le backend pour accéder à /wp-admin/edit.php?post_type=wp_block, ce qui signifie que vous devez connaître l'URL exacte pour la coller manuellement.
>>> On peut avoir accès à ce lien :
/wp-admin/edit.php?post_type=wp_block
lorsque l'on est connecté en profil "editeur".
Pour cela, il faut se rendre sur un contenu à éditer en back office puis cliquer sur les "..." en haut de la page à droite puis "Gérer les compositions" (voir capture d'écran)
>>> Si on fait la même manipulation avec un compte "administrateur" le lien devient :
/wp-admin/site-editor.php?path=%2Fpatterns et le selecteur de langue disparait des pages d'éditions (qui ont a forme suivante wp-admin/site-editor.php?postType=wp_block&postId=XXXXXXXXXXX)
2/ De plus, lorsque j'accède à /wp-admin/post.php?post=15978&action=edit&lang=fr, je peux voir le bloc de sélection de langue WPML.
>>> Oui en effet, c'est ce que j'évoquais : ce lien permet d'avoir accès au selecteur de langue.
Cependant ce lien d'édition ne s'affiche en back office que via la page "/wp-admin/edit.php?post_type=wp_block" et donc si l'utilisateur est "editeur"
3/ D'après mes tests, l'ouverture du post directement via /wp-admin/edit.php?post_type=wp_block affiche bien le bloc de sélection de langue, que ce soit pour les administrateurs ou les éditeurs. Cependant, les éditeurs ne devraient pas avoir la possibilité de modifier ces blocs. Cela semble être une élévation de privilèges cachée, car les éditeurs ne devraient normalement pas avoir accès à cette URL.
>>> Je ne pense pas que le fait qu'un profil "editeur" puisse modifier des "compositions" via "/wp-admin/edit.php?post_type=wp_block" soit une élévation de privilège : nativement les profil "editeur" de wordpress peuvent créer des "compositions/pattern" et donc les modifier. De plus, comme évoqué plus haut, ce lien est accessible facilement pour un éditeur via "..." > "Gérer les compositions"
Je comprends bien que les compos (wp_block) peuvent être géré via le tableau de bord de la Gestion des Traductions, cependant comme les éditeurs de ce site ont l'habitude de traduire en passant par le mode "Editeur WordPress". Je préfère rester sur cette méthode.
De plus c'est plus "flexible" en terme de mise en page & adaptation.
Ce qu'il faudrait en "théorie" c'est que votre selecteur de langue arrive à se "greffer" dans la sidebar d'une page d'édition.
wp-admin/site-editor.php?postType=wp_block&postId=XXXXXXXXXXX
Les langues: Anglais (English )Allemand (Deutsch )Français (Français )
Fuseau horaire: Europe/Zagreb (GMT+01:00)
Nous ne savons pas exactement pourquoi ce problème apparaît dans WP 6.6.2, mais nous pouvons confirmer que cette meta box ne sera plus présente à partir de WP 6.7.
Pour le moment, nous avons décidé de ne pas implémenter de solution permanente.
Si vous souhaitez traduire un Modèle (Pattern) en utilisant ATE ou CTE, vous pouvez le faire via le Tableau de bord TM. Cependant, si vous préférez modifier la traduction en utilisant l’éditeur natif de WordPress (WP Editor), vous devrez suivre cette solution de contournement:
1. Commencez par traduire le bloc avec ATE via le Tableau de bord TM.
2. Ensuite, allez à `wp-admin/edit.php?post_type=wp_block`.
3. Sélectionnez la langue cible et cliquez sur "Modifier" pour le Modèle traduit dans la liste.
4. Le modèle s'ouvrira dans l'éditeur natif de WordPress.
5. Vérifiez que le rendu frontal fonctionne correctement dans les deux cas.
Nous comprenons l'importance de cette demande, mais la résoudre complètement nécessiterait des ressources considérables. Pour l’instant, nous proposons cette solution de contournement et réévaluerons la nécessité d'une solution permanente en fonction des retours des utilisateurs après la sortie de WP 6.7.
Bonjour,
Oui en effet cela fontionne via l'url direct.
Du coups, j'ai créé une fonction pour mettre un lien dans le menu de wordpress :
function ajouter_lien_menu_admin() {
// Vérifiez si l'utilisateur a le rôle d'administrateur ou d'éditeur
if (current_user_can('administrator') || current_user_can('editor')) {
add_menu_page(
'Gestion des Blocs', // Titre de la page
'Gestion des Blocs', // Titre du menu
'edit_posts', // Capability nécessaire
'wp_block_admin', // Slug de la page
'redirection_wp_block', // Fonction de rappel pour le contenu
'dashicons-layout', // Icône du menu (facultatif)
20 // Position dans le menu
);
}
}
add_action('admin_menu', 'ajouter_lien_menu_admin');
// Fonction de redirection exécutée dans 'admin_init'
function redirection_wp_block() {
if (isset($_GET['page']) && $_GET['page'] == 'wp_block_admin') {
wp_safe_redirect(admin_url('edit.php?post_type=wp_block'));
exit;
}
}
add_action('admin_init', 'redirection_wp_block');
Ce qui donne ceci visuellement (voir PJ)
Croissons les doigts pour que la nouvelle version 6.7 ne casse pas tout 😉
Et j'espère que par la suite votre plugin WPML réintégrera le support de traduction des block (compo) via l'éditeur visuel.