it-roy-ru.com

страница wp-admin пуста

Что-то не так с моей страницей wp-admin, она просто отображается пустой. Я почти уверен, что это связано с моим файлом function.php, сверху и снизу нет пробелов, но когда я полностью его удаляю, папка wp-admin снова работает.

вот файл 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;

}
?>

Правка: я включил отладку wp-config, и я получаю следующее

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

Я включил отладку wp-config и обнаружил ошибку. Этот кусок кода был там в строке 61 по какой-то причине, и это вызывало ошибку. <p><label>Name:</label><br /> <input type="text" name="name" value="<?php echo $name; ?>"/></p>

1
Anders Kitson

Вы пытались изменить названия своих функций? Основным, что может вызвать у меня наложение, является name(). Если я делаю тему для себя, обычно я использую my_ в качестве префикса для всего, в противном случае я буду использовать уникальный идентификатор, основанный на названии темы.

4
mor7ifer

Вам необходимо удалить пробелы между all закрытие/открытие PHP теги, в том числе:

}
?>

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

а также

}
?>

<?php
function name() {

а также

}

?>

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

(Проверьте свой файл; возможно, не все включено.)

Правка

В дополнение к отличному ответу @ m0r7if3r, я бы предложил следующее как способ устранения неполадок:

  1. Удалить все из functions.php
  2. Добавьте один открывающий тег <?php. Do не добавить закрывающий тег
  3. Добавляйте каждую из ваших функций по одной, пока не найдете ту, которая приводит сайт к WSOD.
  4. Исправить проблему с этой функцией
  5. Продолжайте выполнять каждую оставшуюся функцию по одной, пока не восстановите все свои функции.
1
Chip Bennett

Для всех людей, которые получают такого рода ошибки, необходимо проверить вариант. включите отчеты об ошибках, если вы прокомментировали строки в вашем wp-config.php

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

и чем проверить на ошибку. если есть ошибка, как это

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

чем проверять свой wp-config.php на наличие лишних пробелов в верхней и нижней части страницы. даже уберите лишние пробелы. и затем повторно загрузить wp-config.php. В большинстве случаев это решит вашу проблему.

Удачного кодирования !!!!

0
Shwet

Я бы просто удалил ВСЕ теги, но первый и последний

0
Devin