Добавить класс в текущий заголовок сообщения Wordpress - PullRequest
0 голосов
/ 07 мая 2018

Я работаю над сервисом cpt и хотел бы отобразить список других постов в пределах того же cpt для одного поста.

Код, который я использую:

<?php 
    $loop = new WP_Query( array( 
        'post_type' => 'services', 
        'posts_per_page' => 6
    ));
?>
<ul>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
                <h4><?php the_title(); ?></h4>
            </a>
        </li>
    <?php endwhile; wp_reset_query(); ?>
</ul>

Теперь мой вопрос: есть ли способ добавить класс в текущее сообщение? Смысл в том, чтобы стилизовать его по-другому, чем другие посты в списке.

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

Это очень легко, вы всегда можете добавить класс до и после

Прочтите эту документацию https://developer.wordpress.org/reference/functions/the_title/

<?php the_title( '<div class="wrapper">', '</div>' ); ?>
0 голосов
/ 07 мая 2018

Использование функции

<?php post_class(); ?>

например:

<div <?php post_class(); ?>>

<?php 
  $loop = new WP_Query( array( 
    'post_type' => 'services', 
    'posts_per_page' => 6
  ));
?>
<ul>
  <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <li <?php post_class(); ?>>
      <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
        <h4><?php the_title(); ?></h4>
      </a>
    </li>
  <?php endwhile; wp_reset_query(); ?>
</ul>
0 голосов
/ 07 мая 2018

Да Сначала получите текущий идентификатор записи и сопоставьте этот идентификатор с идентификатором цикла, и если он такой же, как просто, добавьте класс, где вы хотите, просто используйте код ниже

<?php 
$current_post_id = get_the_ID();
$loop = new WP_Query( array( 
    'post_type' => 'services',
    'posts_per_page' => 6, ));
?>
<ul>
   <?php 
   while ( $loop->have_posts() ) : $loop->the_post();
       $class = ($current_post_id == $loop->ID) ? "current-post" : '';
   ?>
   <li class="<?php echo $class; ?>">
     <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
         <h4><?php the_title(); ?></h4>
     </a>
   </li>
   <?php endwhile; wp_reset_query(); ?>
</ul>

Он добавит класс "current-post" только к текущему сообщению, а в других сообщениях ничего не добавит. стиль с использованием

<style>
li{
/*all posts*/
}
li.current-post{
/*specific for the current post*/
}
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...