Не удается заставить the_content() изменить цвет шрифта в пользовательской теме WP

#wordpress #custom-wordpress-pages

#wordpress #пользовательские-wordpress-страницы

Вопрос:

Я столкнулся с небольшой проблемой, связанной с написанием моей собственной темы WP с нуля (со статической домашней страницей и отдельной страницей блога). Я не могу изменить цвет шрифта моих сообщений в блоге (которые отображаются после того, как я нажимаю на них). Итак, у меня вопрос из двух частей:

  1. Почему я не могу заставить the_content изменить цвет на моем single.php страница? Вот мой код:

     <?php
        get_header();
        the_post(); 
        if ( has_post_thumbnail() ) {
            the_post_thumbnail('large');
        }
    ?>  
    <div class="white">
       <div class="container">
            <h2 class="black-text light" style="margin:0;">
                <?php the_title();?>
            </h2>
            <h5 class="black-text" style="margin:0 0 7% 0;">
                <?php the_author();?>
            </h5>
            <p class="black-text">
                <?php the_content();?>    
            </p> 
        </div>
    </div>
    
    <?php
        get_footer();
    ?>
      

Что происходит на моем single.php страница (которую я использую для оформления своих отдельных сообщений в блоге), я поместил ‘the_title();’ в an <h2> , ‘the_author();’ в an <h5> и ‘the_content();’ в a <p> . Я также сказал, чтобы каждый из этих элементов отображался как черный текст. Однако только <h2> и <h5> изменяется на черный текст. Когда я проверяю его с помощью инструментов разработчика, происходит то, что WP игнорирует мое жестко запрограммированное <p> и создает новое <p> собственное БЕЗ форматирования черного шрифта.

Мой второй вопрос:

  1. Я вообще правильно это делаю?? Он отлично отображается в моей локальной разработке, но правильно ли я все это делаю? В принципе, у меня есть front-page.php это отобразит мою Домашнюю страницу. Тогда у меня есть index.php это показывает главную страницу блога с небольшими выдержками. Затем, когда пользователь нажимает на одно сообщение в блоге, чтобы открыть его, отдельное сообщение отображается с single.php шаблон. Это правильно?

Если ссылка поможет, вы можете увидеть ее здесь: www.uptowndownentertainment.com/blog

Ответ №1:

В вашем сообщении отсутствует код, вам нужно сделать отступ с четырьмя пробелами, чтобы он отображался. Глядя на эту страницу, вы, похоже, добавили это перед контентом:

 <p class="black-text" style="color:black !important;">
  

Но фактический текст находится внутри другого элемента абзаца, поэтому этот код на него не влияет. WordPress автоматически делает это при написании сообщений. Самым простым решением может быть добавление этого в ваш style.css:

 .container p {
 color: black;
}
  

А затем удалите разметку стиля из заголовков и абзацев. Всегда лучше сохранять стили в CSS, а не прямо в коде.

Комментарии:

1. Просто для пояснения: по умолчанию WP автоматически заключает содержимое в <p> теги, поскольку содержимое может содержать более одного абзаца. WP на самом деле не игнорирует <p> тег, который вы вставили в свой шаблон; он по-прежнему включает их в DOM. Поскольку вы не можете иметь <p> внутри другого <p> , браузер рассматривает его как недопустимый и немедленно закрывает ваш тег. @yayheartbeat прав: самый простой способ исправить это — отредактировать style.css , а не пытаться сделать это встроенным.