2015-07-13 3 views
1

Im пытается изменить «Подано в:» для всех категорий и страниц услуг (двери, полы, покраска и окна) идентификаторы для каждой категории следующие 4 , 5,6,7, а идентификаторы для каждой служебной страницы следующие: 28,30,32,34.Изменить текст перед категориями ввода для определенных категорий в генерации framwork wordpress

Я получил этот код со страницы Studiopress, но он меняет весь текст перед категориями входа во всем мире. Я попытался изменить его ниже, но он не работает.

//* Customize the post meta function 
add_filter('genesis_post_meta', 'sp_post_meta_filter'); 
function sp_post_meta_filter($post_meta) { 
    if (!is_page()) { 
     $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]'; 
     return $post_meta; 
    } 
} 

У меня есть 4 страниц (идентификаторы обслуживания страниц выше), которые все использующих шаблон блог и тянущая query_args с кошкой = ID для каждой категории для демонстрации рабочих мест в этой категории.

У меня также есть страница с портфолио (ID = 13), чтобы показать все задания, связанные с категориями выше.

Затем есть страница блога для обновлений и новостей компании и не будет показывать какие-либо задания (ID страницы в блоге = 19). Мне все еще нужны сообщения на этой странице, чтобы отобразить «Filed Under:».

На странице портфолио и обслуживания я хочу изменить «Подано в:» на «Сервис:». Я хочу, чтобы это изменение оставалось в силе и на фактической должности задания, а также на странице категории (я не использую страницу категории, но если кто-то нажимает на тип услуги, она будет там).

Я надеюсь, что это более ясно ...

Вот код, который я играл с и попытки, но его до сих пор не работает. Я не уверен, правильно ли использую is_page, если мне нужно использовать что-то еще.

//* Customize the post meta function 
add_filter('genesis_post_meta', 'sp_post_meta_filter'); 
function sp_post_meta_filter($post_meta) { 
    if (!is_page(array(13,28,30,32,34))) { 
     if (!is_category(array(4,5,6,7))) { 
      $post_meta = '[post_categories before="Service: "] [post_tags before="Tagged: "]'; 
     } else { 
      $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]'; 
     } 
     return $post_meta; 
    } 
} 
+0

Веб-сайт http://tiger-contracting.com. На странице «Портфолио» я хочу сказать «Сервис»: и на странице блога я хочу, чтобы она говорила «Подано в: – William

ответ

0

Благодарим Монджонг за то, что вы на правильном пути и доставили меня. Я смог немного подправить ваше решение, чтобы выполнить все мои потребности! Вот мой последний код, который работает отлично! :-)

//* Customize the post meta function 
add_filter('genesis_post_meta', 'sp_post_meta_filter'); 
function sp_post_meta_filter($post_meta) { 
    if((is_page() && in_category(array(4,5,6,7))) || (!is_page() && is_category(array(4,5,6,7))) || (is_single() && in_category(array(4,5,6,7))) || (!is_single() && in_category(array(4,5,6,7))) || (is_page() && get_the_ID() == 13)) { 
     $post_meta = '[post_categories before="Service: "] [post_tags before="Tagged: "]'; 
    } 
    else 
    { 
     $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]'; 
    } 
    return $post_meta; 
} 
0

Это изменит сказать следующее «Сервис»:

  • Любая страница, которая в категории 4,5,6,7
  • Любая страница категория, которая является 4,5,6 , 7
  • портфель страница (ID = 13)

Все остальное будет сказать: 'Из рубрики'

add_filter('genesis_post_meta', 'sp_post_meta_filter'); 
function sp_post_meta_filter($post_meta) { 
    if((is_page() && in_category(array(4,5,6,7))) || (!is_page() && is_category(array(4,5,6,7))) || (is_page() && get_the_ID() == 13)) { 
     $post_meta = '[post_categories before="Service: "] [post_tags before="Tagged: "]'; 
    } 
    else 
    { 
     $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]'; 
    } 
    return $post_meta; 
} 
+0

» Я не могу поверить, что я пропустил это. Я вошел и сделал исправление, но все еще получаю фанковые результаты ... На странице «Портфолио» все еще говорится «Подано в соответствии», но как только я нажимаю «Сервис», он говорит «Сервис». Но когда я иду в блог, категория новостей также говорит «Сервис», когда нужно сказать «Поданный под» ... Я на полную потерю! lol – William

+0

Вы получаете странные результаты на страницах, потому что вам нужно добавить еще один оператор if, чтобы проверить сообщение/страницу. Метод is_category() проверяет, является ли это только категория. Попробуйте использовать in_category() для сообщений/страниц https://codex.wordpress.org/Function_Reference/in_category – mongjong

+0

Не могли бы вы предоставить мне пример? – William

 Смежные вопросы

  • Нет связанных вопросов^_^