Intereting Posts

При разбиении страницы на страницу с тегом <! – nextpage ->, как можно настроить индивидуальный и второй стили страниц?

Я хочу применить разные стили для второй страницы в single.php или сообщениях. Как я могу это сделать?

У меня есть следующий код в single.php чтобы разделить страницу на две части:

 <!--nextpage--> 

Если есть другой способ добавить еще одну «вкладку» к сообщению или тому подобное, я благодарен за любую помощь … Я просто хочу добавить «пользовательскую страницу» к своему сообщению – как галерею для публикации, поэтому URL-адрес мог бы быть следующим:

 http://localhost/mysite/1024/postname/gallery/ http://localhost/mysite/1024/postname/custom-page/ 

Код в single.php :

  <?php get_header();?> <main> <?php get_sidebar() ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div id="post"> <div class="top-single-movie"> <div class="info"> <h3 class="title" id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" rel="bookmark"> <?php the_title(); ?></a> <?php if( get_field('date') ): ?> ( <?php the_field('date'); ?> ) <?php endif; ?> </h3> </div> <?php if(has_post_thumbnail()) : the_post_thumbnail('medium'); else : echo '<img src="'.get_bloginfo('template_directory').'/img/default.png">'; endif; ?> </div><!-- End. top-single-movie --> <?php the_content(); ?> <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'tl_back' ) . '</span>', 'after' => '</div>' ) ); ?> <?php include (TEMPLATEPATH . '/php/single/tv-single-rand.php'); ?> </div><!-- End. content-single-movie --> <p class="tags"><?php the_tags(); ?> </p> <!--?php comments_template(); // Get comments.php template ?--> <?php endwhile; else: ?> <p> <?php _e('Sorry, no posts matched your criteria.'); ?> </p> <?php endif; ?> <!-- END Loop --> <ul class="navigationarrows"> <li class="previous"> <?php previous_post_link('&laquo; %link'); ?> <?php if(!get_adjacent_post(false, '', true)) { echo '<span>&laquo;Previous</span>'; } ?> </li> <li class="next"> <?php next_post_link('%link &raquo;'); ?> <?php if(!get_adjacent_post(false, '', false)) { echo '<span>Next post:</span>'; } ?> </li> </ul><!-- end . navigationarrows --> </div> </main> <?php get_footer();?> 

Solutions Collecting From Web of "При разбиении страницы на страницу с тегом <! – nextpage ->, как можно настроить индивидуальный и второй стили страниц?"

WordPress уже добавляет классы в тело, чтобы вы могли справиться с этим, если ваша тема правильно использует тег body_class template.

На второй странице страницы ваше тело будет иметь следующие дополнительные классы: paged , paged-2 & page-paged-2 , так что вы можете увидеть, что вы можете вносить изменения в стили:

 body.page { background: black; color: white; } body.paged { background: green; color: red; } 

Core достигает этого с помощью этой логики:

 global $wp_query; $page = $wp_query->get( 'page' ); if ( ! $page || $page < 2 ) $page = $wp_query->get( 'paged' ); if ( $page && $page > 1 && ! is_404() ) { $classes[] = 'paged-' . $page; if ( is_single() ) $classes[] = 'single-paged-' . $page; elseif ( is_page() ) $classes[] = 'page-paged-' . $page; elseif ( is_category() ) $classes[] = 'category-paged-' . $page; elseif ( is_tag() ) $classes[] = 'tag-paged-' . $page; elseif ( is_date() ) $classes[] = 'date-paged-' . $page; elseif ( is_author() ) $classes[] = 'author-paged-' . $page; elseif ( is_search() ) $classes[] = 'search-paged-' . $page; elseif ( is_post_type_archive() ) $classes[] = 'post-type-paged-' . $page; } 

Вы можете адаптировать эту логику в своих шаблонах, если хотите использовать другой HTML на первой и последующих страницах.

Если вы знаете идентификатор сообщения, вы можете настроить таргетинг на это тело с помощью специального CSS. Например, если ваша пользовательская страница имеет идентификатор 99, вы можете настроить пользовательскую таблицу стилей и префикс всех селекторов с помощью:

body.postid-99

Очевидно, это зависит от вашей темы. Если ваша тема использует другой класс в теге body (not .postid-99), вам нужно будет соответствующим образом изменить селектор.

…или…

Внесите правильную таблицу стилей в свои функции темы. например:-

 function my_enqueue_scripts(){ wp_register_style( 'my-css', "my-stylesheet.css" ); wp_enqueue_style( 'my-css' ); } if ( get_the_ID() == 99 ) add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts'); 

Ive не проверил вышеуказанный код, но, надеюсь, он поможет вам добраться туда, где вам нужно.

Если я правильно понимаю, вы хотите создать другой шаблон на новой странице.

Если это так, вам нужно продублировать single.php вашей темы (желательно в дочерней теме) и использовать иерархию шаблонов для переопределения по умолчанию single.php с новым.

  1. Получить идентификатор страницы, которую вы хотите сделать
  2. Дублируйте файл single.php и переименуйте в single-ID.php, изменив «ID» на идентификатор страницы
  3. Теперь вы можете редактировать single-ID.php, и изменения будут применяться только к этой странице.

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