Je dois donc éditer ma page 404. Le site Web de mon client étant disponible en 5 langues, j'aimerais lui permettre de modifier et de traduire lui-même la page 404, avec l'éditeur WordPress normal. De plus, nous utilisons actuellement Polylang comme plugin de localisation.
Existe-t-il un moyen d'avoir le 404.php
du thème comme page normale?
J'ai essayé de créer une page, puis de l'assigner au modèle 404 via le nom du modèle, mais cela ne fonctionne pas, car il semble que $post
ne soit pas disponible dans le modèle. Je ne peux donc pas écrire de contenu.
J'ai trouvé un moyen.
Créez une page normale pour le contenu 404, dites 'Page non trouvée';
Dans votre fichier 404.php, récupérez les données de cette page, puis écrivez votre contenu ou autre chose ...
Par exemple:
$page = get_page_by_title("Page not found");
if($page) echo apply_filters('the_content',$page->post_content);
De toute évidence, vous pouvez faire beaucoup plus ...
Tout d’abord, vous devez absolument éviter Error 404
sur vos sites.
Deuxièmement, vous pouvez utiliser un widget de texte quelque part sur la page 404.php
. Placez le code suivant dans le functions.php
pour enregistrer une barre latérale dans laquelle insérer le widget:
<?php
function error_404_widget_init() {
register_sidebar( array(
'name' => 'Error 404 widget',
'id' => 'error_404',
'before_widget' => '<div>',
'after_widget' => '</div>',
'before_title' => '<h2 class="rounded">',
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'error_404_widget_init' );
Et ajoutez ce qui suit dans le fichier de modèle 404.php
, à l'endroit souhaité:
<?php
dynamic_sidebar( 'error_404' );
Après cela, vous pourrez ajouter le widget à la barre latérale et spécifier un texte pour chaque langue à l'aide de la fonctionnalité par défaut de Polylang.