2013-06-28 4 views
0
ok so i have this if statement it is in the header.php 

<?php 
    if (is_page('estate planning')) { 
     $estate = array ("eplnp","1","2","3","4","5");} 
     elseif(is_page('probate & trust administration')){ 
     $trust = array ("eplnp","1","2","3","4","5");} 
     elseif(is_page('elder law')){ 
     $elder = array ("eplnp","1","2","3","4","5");} 
     elseif(is_page('meet sara')){ 
     $meet = array ("eplnp","1","2","3","4","5");} 
     elseif(is_page('blog')){ 
     $blog = array ("eplnp","1","2","3","4","5");} 
     elseif(is_page('client forms')){ 
     $form = array ("eplnp","1","2","3","4","5");} 
     elseif(is_page('request a consultation')){ 
     $request = array ("eplnp","1","2","3","4","5");}  
      else { 
      $home = array ("homebg","hmline1","hmline","phone","home","blurb-hm");} 
?> 

Как использовать этот оператор глобально ... как я хочу, чтобы он применим к index.php header.php и footer.php.с использованием инструкции if else else if на всей странице

Я понимаю, что могу сохранить его как bla.php и использовать include() на всех страницах. есть более эффективный способ сделать это, как загрузить его по всему миру с одной страницы, чтобы код выглядел более аккуратным и может использоваться на загружаемых страницах?

+0

Если я могу предложить, лучше использовать 'переключатель ... case'. Выполните функцию, возвращающую не страницу, а возвращающую строку на какой странице. Другой способ - использовать функцию 'in_array()'. – Voitcus

ответ

1

В том числе файл с include('bla.php') является наиболее эффективным способом сделать это. Это одна строка кода, которая включает блок, и вы не повторяетесь.

Также re. Комментарий Voitcus, вы должны использовать переключатель вместо того, чтобы упростить этот блок. Получить имя страницы в качестве переменной, то сделать:

switch ($page) { 
    case "estate planning": 
     $estate = array ("eplnp","1","2","3","4","5"); 
     break; 
    case "probate & trust administration": 
     $elder = array ("eplnp","1","2","3","4","5");} 
     break; 
    ... 
    default: 
     $home = array ("homebg","hmline1","hmline","phone","home","blurb-hm"); 
} 
+0

Я попробую оператор switch, он выглядит немного чище, чем ififif. Я пытаюсь включить ('header.php') прямо сейчас, чтобы применить его ко всей странице. это сработало, но теперь я собираю капитал S, помеченный в конец массива, который я эхо. например. echo $ estate ['0'] Когда я просматриваю его в браузере, он размещается как: eplnS Я сделал var_dump и посмотрел на все массивы, нет никакого капитала S в любом из массивов. Мысли о том, были ли я собирать столицу S? –

0

Вы можете включить файл на заголовок перед wp_head(); и используйте любую переменную .

Добавить файл в выбранную папку тем.

require_once (TEMPLATEPATH . '/bla.php'); 
wp_head();