web-dev-qa-db-fra.com

Comment éditer le contenu de 404 via l'éditeur wp?

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.

1
Luca Reghellin

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 ...

1
Luca Reghellin

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.

0
Max Yudin