web-dev-qa-db-fra.com

la page wp-admin est vide

Quelque chose ne va pas avec ma page wp-admin, il montre juste vide. Je suis à peu près sûr que cela a à voir avec mon fichier function.php. Il n'y a pas d'espace blanc en haut ou en bas, mais lorsque je le supprime complètement, le dossier wp-admin fonctionne à nouveau.

voici le fichier functions.php

<?php

add_action("manage_posts_custom_column",  "booktime_custom_columns");
add_filter("manage_edit-booktime_columns", "booktime_edit_columns");

function booktime_custom_columns($column){
    global $post;

    switch ($column) {
        case "name":
            the_excerpt();
        break;
        case "address":
            $custom = get_post_custom();
            echo $custom["address"][0];
        break;
        case "phone":
            $custom = get_post_custom();
            echo $custom["phone"][0];
        break;
        case "date":
            $custom = get_post_custom();
            echo $custom["date"][0];
        break;
        case "bottles":
            $custom = get_post_custom();
            echo $custom["bottles"][0];
        break;

    }
}

function booktime_edit_columns($columns){
    $columns = array(
        "cb" => "<input type=\"checkbox\" />",
        "title" => "Post should show",
        "description" => "name",
        "address" => "address",
        "phone" => "phone",
        "date" => "date",
        "bottles" => "bottles"
    );

    return $columns;
}

?>

<?php
add_action("admin_init", "admin_init_booktime");

function admin_init_booktime(){

    add_meta_box("name", "name", "name", "booktime", "normal", "low");

}
?>

<?php
function name() {
    global $post;
    $custom = get_post_custom($post->ID);
    $name = ( !empty($custom["name"][0]) ) ? $custom["name"][0]: "";
    ?>
    <p><label>Name:</label><br />
        <input type="text" name="name" value="<?php echo $name; ?>"/></p>
    <?php
}
?>

<?php
add_action('save_post', 'save_details_booktime');

function save_details_booktime(){
    global $post;
    $custom_meta_fields = array( 'name' );

    foreach( $custom_meta_fields as $custom_meta_field ):
        if(isset($_POST[$custom_meta_field]) && $_POST[$custom_meta_field] != ""):
            update_post_meta($post->ID, $custom_meta_field, $_POST[$custom_meta_field]);
        endif;
    endforeach;

}
?>

EDIT: J'ai activé le débogage de wp-config et j'obtiens ce qui suit

Parse error: syntax error, unexpected '<' in /Users/anderskitson/Sites/fiftyfity/wp-content/themes/fiftyfityNew/functions.php on line 61
3
Anders Kitson

J'ai activé le débogage de wp-config et trouvé le bogue. Ce code était à la ligne 61 pour une raison quelconque et était à l'origine de l'erreur. <p><label>Name:</label><br /> <input type="text" name="name" value="<?php echo $name; ?>"/></p>

1
Anders Kitson

Avez-vous essayé de changer les noms de vos fonctions? Le principal problème qui me préoccuperait comme risque de chevauchement est name(). Si je fais un thème pour moi-même, d'habitude j'utiliserai my_ comme préfixe pour tout, sinon j'utiliserai un identifiant unique basé sur le nom du thème.

4
mor7ifer

Vous devez supprimer les espaces entre les balises all fermant/ouvrant PHP, notamment:

}
?>

<?php
add_action('save_post', 'save_details_booktime');

et

}
?>

<?php
function name() {

et

}

?>

<?php
add_action("admin_init", "admin_init_booktime");

(Vérifiez votre fichier; peut-être pas tout compris.)

Modifier

En plus de l'excellente réponse de @ m0r7if3r, je suggérerais ce qui suit comme moyen de dépannage:

  1. Supprimer tout de functions.php
  2. Ajoutez une seule balise d'ouverture <?php. Do not ajouter une balise de fermeture
  3. Ajoutez chacune de vos fonctions, une à la fois, jusqu'à ce que vous en trouviez une qui provoque le site en WSOD.
  4. Résoudre le problème avec cette fonction
  5. Continuez avec chaque fonction restante, une à la fois, jusqu'à ce que toutes vos fonctions aient été restaurées.
1
Chip Bennett

Pour tous les gens qui ont ce genre d'erreur, c'est une option à vérifier. activer le rapport d'erreur si vous avez commenté les lignes de votre wp-config.php

@ini_set('display_errors','Off');

et que vérifier l'erreur. s'il a l'erreur comme ça

PHP Warning: Cannot modify header information - headers already sent by (output started at /[server info]/wp-config.php:77)

vérifiez que votre wp-config.php contient davantage d’espace en haut et en bas de la page. et que re-télécharger le wp-config.php. La plupart du temps, cela résoudra votre problème.

Bonne codage !!!!

0
Shwet

Je supprimerais simplement TOUTES les balises mais la première et la dernière

0
Devin