Здравствуйте. Переехал с php5 на php7. Но съезжает дизайн, посмотрите пожалуйста код: PHP: <?php global $options; foreach ($options as $value) { if ( isset( $value['id'] ) ) { if (get_option( $value['id'] ) === FALSE) { ${$value['id']} = $value['std']; } else { ${$value['id']} = get_option( $value['id'] ); } } } ?> В результате подключается файл style.css а не файл темы. Может ещё где то фигурные скобки надо поставить?
PHP: <?php switch ($apa_style_sheet) { case "maroon":?> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url');?>" type="text/css" media="screen" /> <?php break; ?> <?php case "black":?> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/black.css" type="text/css" media="screen" /> <?php break; ?> <?php case "blue":?> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/blue.css" type="text/css" media="screen" /> <?php break; ?> <?php case "green":?> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/green.css" type="text/css" media="screen" /> <?php break; ?> <?php }?> Вот продолжение кода, может в нём ошибка?
этот код невозможно читать глазами, т.к. используется програмное создание переменных по строковому значению $value['id'], т.е. понять, что не так можно только прогоняя программу и дебагая значения. выкинуть надо этот код
Должно быть в итоге так HTML: <link rel="stylesheet" href="http://site.ru/wp-content/themes/aparatus/green.css" type="text/css" media="screen" /> а получается так HTML: <link rel="stylesheet" href="http://localhost/proba/wp-content/themes/aparatus/style.css" type="text/css" media="screen" /> к сожалению выкинуть не могу. может валидатор какой есть? на php5 этот код нормально работает, а на php7 уже неправильно.
@serj2019, судя по путям к файлам - не все действия при переносе сайта на другой домен/хостинг выполнены. Вот: одна из инструкций
Да нет путь здесь не при чём (там путь с тестового сайта). Подключается файл style.css а мне нужен green.css . Посмотрите код пожалуйста, неохота весь шаблон сайту менять из за этого.
Вот как : PHP: $themename = "Aparatus"; $shortname = "apa"; $options = array ( array( "name" => "Общие настройки", "type" => "sub-title"), array( "type" => "open"), array( "name" => "Стиль шаблона", "desc" => "Выберите стиль, который больше нравится", "id" => $shortname."_style_sheet", "type" => "select", "options" => array("maroon", "black", "blue", "green"), "std" => "maroon"),
@serj2019, лучше поиск по всем файлам проекта на предмет нахождения $apa_style_sheet выполните. Может, он где-нить в другом файле присваивается, или ссылкой в параметрах передается.
Больше нигде $apa_style_sheet нет. только здесь PHP: $themename = "Aparatus"; $shortname = "apa"; $options = array ( array( "name" => "Общие настройки", "type" => "sub-title"), array( "type" => "open"), array( "name" => "Стиль шаблона", "desc" => "Выберите стиль, который больше нравится", "id" => $shortname."_style_sheet", "type" => "select", "options" => array("maroon", "black", "blue", "green"), "std" => "maroon"), --- Добавлено --- блин. это я уже не соображаю((. всё правильно работает. надо просто выбрать в настройках правильный цвет. @Sail спасибо. извините.