Пользовательский CSS на страницу в Wordpress - PullRequest
3 голосов
/ 19 августа 2010

Доброе утро всем,

Я создал другой фон и несколько других изображений для определенных страниц нашего сайта.В настоящее время приведенный ниже код хорошо работает со страницей "дети" на нашем сайте.

<body<?php if ( is_page(array('kids'))) {
echo ' class="kids" '; } ?>>

Я пытаюсь выяснить, как добавить этот же CSS на другие страницы "под" страницей детей.Так что, если вы идете на kids / block-party, как бы мне добавить его в код для вызова этого специального CSS?

Я пробовал следующее

<body<?php if ( is_page(array('kids, kids/block-party'))) {
echo ' class="kids" '; } ?>>

запятаяПо-видимому, не регистрируется по какой-либо причине.

Это сайт WordPress.

Спасибо

Ответы [ 4 ]

5 голосов
/ 19 августа 2010

Другой вариант - просто заменить

<body>

на

<body <?php body_class(); ?>>

. Затем вы можете настроить таргетинг на него через css следующим образом:

body.page-id-2, body.parent-pageid-2 { background-color: red; }

Где идентификаторидентификатор страницы / родительской страницы, на которую вы нацеливаетесь.Это избавит ваш шаблон от логики и позволит вам использовать те же параметры настройки, которые использует ваш текущий метод.

3 голосов
/ 19 августа 2010

понял, что мне нужно '' вокруг них

<body<?php if ( is_page(array('newsletter-1', 'newsletter-2', 'newsletter-3'))) { echo '   class="myclass" '; } ?>>
1 голос
/ 08 сентября 2012

Примечание: Я знаю, что 3 текущих ответа - общее решение этой проблемы для WP, но на практике я ненавижу это. Выдает раздутый HTML и монолитный CSS: /

Ответ: Вы можете использовать файл шаблона, назначенный любому количеству страниц, чтобы добавить определенный CSS / Javascript, например:

<?php
function my_scripts_method() {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}    

add_action('wp_enqueue_scripts', 'my_scripts_method');
?>

Источник: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

1 голос
/ 03 октября 2011

Я, возможно, подумал над этим, но вот мое решение.

Сценарий ниже автоматически получает все дочерние элементы определенной родительской страницы и печатает нужный вам класс. Это решение прекрасно работает, если вы не хотите обновлять список дочерних страниц вручную.

Это идет в вашем файле header.php:

<?php 
    //set page id 
            $page_id = '98';

           //get page's children 
    $children = get_pages('child_of='.$page_id);
    foreach($children as $child){
       $children_ids = $child->ID;
    }

    if(is_page($page_id) || is_page($children_ids)){
       echo 'class="kids';
    }

?>

Спасибо, и я надеюсь, что это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...