WordPress 2.1 (Maxsite)

Вот такие ошибки при установке:
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in E:\Server\sambar64\docs\Test\wp-includes\capabilities.php on line 190

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:\Server\sambar64\docs\Test\wp-includes\capabilities.php on line 192
……

Оригинальный вариант WP тоже выдал похожую ошибку. Но при этом работает и панель администратора и главная страница отображается, правда с такой ошибкой:
WordPress database error: [Unknown column ‘cat_menu_order’ in ‘order clause’]
SELECT * FROM wp_categories WHERE cat_ID > 0 AND category_count > 0 ORDER BY cat_menu_order ASC

По первой ошибке, обычно бывает из-за либо битого файла, либо неверной кодировки.

Что касается второй, то вначале нужно бфло интегрровать мой плагин, который добавляет дополнительные поля в базу данных.

Максим, я полагаю, скрипт называется maxsite_category_class_order ?

Да, верно.

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in

Тоже самое, только с файлом functions.php в темах. На денвере отображается нормально, но на хосте ошибка и из-за нее криво отображаются шапки страниц.
Файл вроде не битый, брал свежескаченый… кодировка utf-8 без BOM’a. Собственно все остальное работает, за исключением этого. Версия 2.2 сборка отсюда.

Согласно приведенному скриншоту, ошибка в файле вашего шаблона function.php в 7-м абзаце.

WordPress здесь ни при чем.

Согласно приведенному скриншоту, ошибка в файле вашего шаблона function.php в 7-м абзаце.

WordPress здесь ни при чем.

Да, только на денвере этого нет=(

Вроде правильно…

<?php

function wp_list_pages2() {

    $defaults = array('depth' => 0, 'show_date' => '', 'date_format' => get_option('date_format'),
        'child_of' => 0, 'exclude' => '', 'title_li' =>'', 'echo' => 1, 'authors' => '', 'sort_column' => 'menu_order, post_title');
    $r = array_merge($defaults, $r); <=вот строчка

    $output = '';
    $current_page = 0;

    // sanitize, mostly to keep spaces out
    $r['exclude'] = preg_replace('[^0-9,]', '', $r['exclude']);

    // Allow plugins to filter an array of excluded pages
    $r['exclude'] = implode(',', apply_filters('wp_list_pages_excludes', explode(',', $r['exclude'])));

    // Query pages.
    $pages = get_pages($r);

    if ( !empty($pages) ) {

        for($i=0;$i<count($pages);$i++)
        {
            $output .='
                <td>
                    <a href="?page_id='.$pages[$i]->ID.'">'.$pages[$i]->post_title.'</a>
                </td>';
        }
    }

Нет, потому что наверное отключены сообщения об ошибке.

$r = array_merge($defaults, $r); <=вот строчка

Теперь и задайте вопрос тому программисту, который считает, что в $r находится массив… 😮

Я могу лишь только догадываться… Перепишите например так:

function wp_list_pages2($args = '') {
    if ( is_array($args) ) $r = &$args;
       else parse_str($args, $r);

далее по тексту

Спасибо огромное, действительно помогло!

Anonymous
Отправить
Ответ на: