Поддержка Проблемы и решения Вывести стиль, если ID страницы равно нужному значению

  • Здравствуйте. Подскажите пожалуйста.

    Хочу в зависимости от ID страницы вывести некоторые стили для страницы.

    Я составил следующую конструкцию, но задуманное не работает:

    <?php
    if (the_ID() == "5434")
      echo "<style>тут_некоторые_стили</style>";
    ?>

    По задумке, если post id будет равно 5434, то нужно вывести стили на страницу.

    За ранее спасибо!

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Если тема не самодельная, то обычно к тегу body добавляется class=»postid-13″ (где 13 — ID страницы). В таком случае проще всего дописать стилевое правило
    .postid-13 a { }

    И оно сработает для всех гиперссылок на странице поста с ID 13.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    А если тема самодельная, то к <body> нужно добавить body_class():
    https://codex.wordpress.org/Function_Reference/body_class

    Пример можно посмотреть в стандартных темах:
    https://themes.trac.wordpress.org/browser/twentyfourteen/1.0/header.php#L33

    Так пробовал, но что-то не срабатывает. Там такая конструкция:

    .element .thumbnail-hover,
    .element .symbol,
    .element .name,
    .element .categories {
    	opacity: 0;
    	visibility: hidden;
    	-webkit-transition: 	opacity 0.25s ease-in-out, visibility 0s linear 0.25s;
    	-moz-transition: 	opacity 0.25s ease-in-out, visibility 0s linear 0.25s;
    	-ms-transition: 	opacity 0.25s ease-in-out, visibility 0s linear 0.25s;
    	-o-transition: 		opacity 0.25s ease-in-out, visibility 0s linear 0.25s;
    	transition: 		opacity 0.25s ease-in-out, visibility 0s linear 0.25s;
    }
    .element:hover .thumbnail-hover,
    .element:hover .symbol,
    .element:hover .name,
    .element:hover .categories  {
    	opacity: 1;
    	visibility: visible;
    	-webkit-transition: 	opacity 0.25s ease-in-out, visibility 0s;
    	-moz-transition: 	opacity 0.25s ease-in-out, visibility 0s;
    	-ms-transition: 	opacity 0.25s ease-in-out, visibility 0s;
    	-o-transition: 		opacity 0.25s ease-in-out, visibility 0s;
    	transition: 		opacity 0.25s ease-in-out, visibility 0s;
    }</style>

    Мне нужно, что бы на главной были такие значения. А на других страницах стандартные, прописанные в css. На главной выводится несколько постов в виде карточек, поэтому postid-ID — будет много и они могут изменятся. Т.к. этот css код для этих самых карточек. Но, главная имеет своё ID страницы, поэтому я думал, проще через php выводить на главной нужный код.

    ***

    Про body_class() — не совсем понял. Код хочу вывести в header.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Я составил следующую конструкцию, но задуманное не работает

    Функция the_ID() выводит значение, а не возвращает. Чтобы получить его для сравнения с заранее известным числом, используйте get_the_ID():
    https://codex.wordpress.org/Function_Reference/get_the_ID

    Возможно, проще будет использовать is_front_page():
    http://codex.wordpress.org/Function_Reference/is_front_page

    Sergey Biryukov, спасибо большое! Теперь всё работает.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Вывести стиль, если ID страницы равно нужному значению» закрыта для новых ответов.