web-dev-qa-db-fra.com

ne peut pas voir toutes les pages du tableau de bord (ne peut en voir que 3) /wp-admin/edit.php> 500 error

Le site Web d'un client contient 12 pages, mais nous ne pouvons en voir que trois, bien que nous ayons des comptes d'administrateur. La création d'un nouveau compte d'administrateur ne résout pas le problème.

Les options d'écran ne s'ouvrent pas et si je vérifie la console Chrome, je vois:

Echec du chargement de la ressource: le serveur a répondu avec un statut de 500 (): /wp-admin/edit.php

Je peux voir que /wp-admin/edit.php existe.

J'ai supprimé /wp-admin et /wp-includes et téléchargé de nouvelles copies de ceux-ci.

J'ai téléchargé une nouvelle copie du thème parent et le thème enfant n'est pas modifié.

Si je renomme plugins en plugins.temp, le problème persiste.

Aide appréciée.

EDIT1

Si j'active le débogage et que je recharge /wp-admin/edit.php?post_type=page, les erreurs suivantes apparaissent:

Avertissement: décalage de chaîne illégal 'diaporama' dans /home/user/public_html/wp-content/themes/abundance/includes/admin/compat.php à la ligne 48

Erreur fatale: Erreur non capturée: impossible d'utiliser le décalage de chaîne comme tableau dans /home/user/public_html/wp-content/themes/abundance/includes/admin/compat.php:48 Trace de pile: # 0/home/user/public_html/wp-includes/class-wp-hook.php (298): avia_backend_compatibility_custom_field_filter (', 127) # 1 /home/public_html/wp-includes/plugin.php(203): WP_Hook-> apply_filters (', Tableau) # 2 /home/user/public_html/wp-content/themes/abundance/framework/php/function-set-avia-frontend.php(262): apply_filters ('avia_post_meta _...', '', ', 127) # 3 /home/user/public_html/wp-includes/class-wp-hook.php(300): avia_post_meta (Object (WP_Post)) # 4/accueil/utilisateur/public_html/wp-includes/class-wp-hook. php (323): WP_Hook-> apply_filters ('', Array) # 5 /home/user/public_html/wp-includes/plugin.php(515): WP_Hook-> do_action (Array) # 6/home/user/public_html /wp-includes/class-wp-query.php(4070): do_action_ref_array ('the_post', Array) # 7 /home/user/public_html/wp-includes/query.php(938): WP_Query-> setup_postdata (WP_Post)) # 8/home/ma g in /home/user/public_html/wp-content/themes/abundance/includes/admin/compat.php à la ligne 48

EDIT2

Voici les lignes 44 à 61 du /abundance/includes/admin/compat.php

function avia_backend_compatibility_custom_field_filter($custom_fields, $post_id)
{
    if(empty($custom_fields))
    {
        $custom_fields['slideshow'][0]['slideshow_image'] = "";
    }

    if(isset($custom_fields['slideshow']) && is_array($custom_fields['slideshow']) && isset($custom_fields['slideshow'][0]['slideshow_image']))
    {
        $post_thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );

        if($custom_fields['slideshow'][0]['slideshow_image'] == "" && $post_thumbnail_id)
        {
            $custom_fields['slideshow'][0]['slideshow_image'] = $post_thumbnail_id;
        }
    }
    return $custom_fields;
}
2
Steve
  1. Veuillez ouvrir votre fichier wp-config.php et modifier le paramètre comme suit:

    define('WP_DEBUG', true);
    

Une fois ce paramètre activé, vous pouvez voir plus de détails sur l'erreur.

  1. Essayez d'activer n'importe quel thème WordPress par défaut comme TwentySeventeen et regardez si l'erreur persiste.

Mettre à jour:

function avia_backend_compatibility_custom_field_filter($custom_fields, $post_id)
{
    if(empty($custom_fields))
    {
        $custom_fields = array(
             'slideshow' => array(
                 array( 'slideshow_image' => '' )
             )
        );
    }

    if(isset($custom_fields['slideshow']) && is_array($custom_fields['slideshow']) && isset($custom_fields['slideshow'][0]['slideshow_image']))
    {
        $post_thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );

        if($custom_fields['slideshow'][0]['slideshow_image'] == "" && $post_thumbnail_id)
        {
            $custom_fields['slideshow'][0]['slideshow_image'] = $post_thumbnail_id;
        }
    }
    return $custom_fields;
}
1
Misha Rudrastyh