Czytaj więcej…
-
Witam. Piszę tutaj, ponieważ chciałbym zrobić zamiast całego tekstu, to napis „czytaj więcej”, żeby tekst nie zajmował tyle miejsca i problem jest w tym, że nie mam zielonego pojęcia jak to zrobić. Używam motywu TWENTY TEN. Proszę o pomoc.
~ Pozdrawiam!
-
Rozwiązania są dwa:
Programistyczne:
Zmodyfikuj pliki skórki tak, aby w miejscu wołania the_content() wołała funkcję the_excerpt().Edytorskie:
Zmodyfikuj treść każdego wpisu wstawiając w odpowiednie miejsce znacznik podziału „<!–more–>”. Taki znacznik powoduje, że na stronach, na których wyświetlane są listy wpisów, wpis będzie w miejscu tego znacznika „ucinany”.Znacznik ten możesz także wstawić za pomocą ikonki z edytora wizualnego (ikonka tuż obok „Usuń odnośnik”) lub skrótem klawiaturowym Alt+Shift+T.
Chciałbym w plikach skórki, tylko gdzie to mogę znależć?
Jeśli korzystasz z TwentyTen, to:
1. Zaloguj się do panelu admina
2. Przejdź do Wygląd->Edytor
3. Wybierz plik loop-single.php
4. Znajdź fragmentthe_content()i zamień go nathe_excerpt()Rozwiązanie nie jest idealne, bo będziesz musiał pamiętać o tej modyfikacji przy update’ach, ale jeśli nie jesteś programistą znającym WP, to tak będzie najłatwiej/najszybciej Ci to wytłumaczyć…
Zmieniłem i nie działa „czytaj więcej”. Nie trzeba jeszcze czegoś wkleić do tego loop-singe.php? Wygląda to tak:
<?php /** * The loop that displays a single post. * * The loop displays the posts and the post content. See * http://codex.wordpress.org/The_Loop to understand it and * http://codex.wordpress.org/Template_Tags to understand * the tags used in it. * * This can be overridden in child themes with loop-single.php. * * @package WordPress * @subpackage Twenty_Ten * @since Twenty Ten 1.2 */ ?> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <div id="nav-above" class="navigation"> <div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '←', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div> <div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '→', 'Next post link', 'twentyten' ) . '</span>' ); ?></div> </div><!-- #nav-above --> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <h1 class="entry-title"><?php the_title(); ?></h1> <div class="entry-meta"> <?php twentyten_posted_on(); ?> </div><!-- .entry-meta --> <div class="entry-content"> <?php the_excerpt(); ?> <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?> </div><!-- .entry-content --> <?php if ( get_the_author_meta( 'description' ) ) : // If a user has filled out their description, show a bio on their entries ?> <div id="entry-author-info"> <div id="author-avatar"> <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 60 ) ); ?> </div><!-- #author-avatar --> <div id="author-description"> <h2><?php printf( __( 'About %s', 'twentyten' ), get_the_author() ); ?></h2> <?php the_author_meta( 'description' ); ?> <div id="author-link"> <a>" rel="author"> <?php printf( __( 'View all posts by %s <span class="meta-nav">→</span>', 'twentyten' ), get_the_author() ); ?> </a> </div><!-- #author-link --> </div><!-- #author-description --> </div><!-- #entry-author-info --> <?php endif; ?> <div class="entry-utility"> <?php twentyten_posted_in(); ?> <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?> </div><!-- .entry-utility --> </div><!-- #post-## --> <div id="nav-below" class="navigation"> <div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '←', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div> <div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '→', 'Next post link', 'twentyten' ) . '</span>' ); ?></div> </div><!-- #nav-below --> <?php comments_template( '', true ); ?> <?php endwhile; // end of the loop. ?>Aj, moja literówka…
Nie w loop-single.php tylko loop.php.
loop-single.php nie ruszaj 🙂Zmieniłem w loop.php wszystkie the_content na the_excerpt i nie działa, a było tego z 5 chyba, więc nie wiem gdzie leży problem. Na pewno nie trzeba jeszcze czegoś wpisywać?
Nie, o ile tylko dobrze to edytujesz i zapisujesz na serwerze w odpowiedni sposób, ale tego już nie zweryfikuję…
Chyba dobrze zrobiłem, ale nie jestem pewien, jak możesz, to możesz spojrzeć.
<?php
/**
* The loop that displays posts.
*
* The loop displays the posts and the post content. See
* http://codex.wordpress.org/The_Loop to understand it and
* http://codex.wordpress.org/Template_Tags to understand
* the tags used in it.
*
* This can be overridden in child themes with loop.php or
* loop-template.php, where 'template’ is the loop context
* requested by a template. For example, loop-index.php would
* be used if it exists and we ask for the loop with:
*get_template_part( 'loop', 'index' );
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/
?><?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<div id=”nav-above” class=”navigation”>
<div class=”nav-previous”><?php next_posts_link( __( '<span class=”meta-nav”>←</span> Older posts’, 'twentyten’ ) ); ?></div>
<div class=”nav-next”><?php previous_posts_link( __( 'Newer posts <span class=”meta-nav”>→</span>’, 'twentyten’ ) ); ?></div>
</div><!– #nav-above –>
<?php endif; ?><?php /* If there are no posts to display, such as an empty archive page */ ?>
<?php if ( ! have_posts() ) : ?>
<div id=”post-0″ class=”post error404 not-found”>
<h1 class=”entry-title”><?php _e( 'Not Found’, 'twentyten’ ); ?></h1>
<div class=”entry-content”>
<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.’, 'twentyten’ ); ?></p>
<?php get_search_form(); ?>
</div><!– .entry-content –>
</div><!– #post-0 –>
<?php endif; ?><?php
/* Start the Loop.
*
* In Twenty Ten we use the same loop in multiple contexts.
* It is broken into three main parts: when we’re displaying
* posts that are in the gallery category, when we’re displaying
* posts in the asides category, and finally all other posts.
*
* Additionally, we sometimes check for whether we are on an
* archive page, a search page, etc., allowing for small differences
* in the loop on each template without actually duplicating
* the rest of the loop that is shared.
*
* Without further ado, the loop:
*/ ?>
<?php while ( have_posts() ) : the_post(); ?><?php /* How to display posts of the Gallery format. The gallery category is the old way. */ ?>
<?php if ( ( function_exists( 'get_post_format’ ) && 'gallery’ == get_post_format( $post->ID ) ) || in_category( _x( 'gallery’, 'gallery category slug’, 'twentyten’ ) ) ) : ?>
<div id=”post-<?php the_ID(); ?>” <?php post_class(); ?>>
<h2 class=”entry-title”>” title=”<?php printf( esc_attr__( 'Permalink to %s’, 'twentyten’ ), the_title_attribute( 'echo=0′ ) ); ?>” rel=”bookmark”><?php the_title(); ?></h2><div class=”entry-meta”>
<?php twentyten_posted_on(); ?>
</div><!– .entry-meta –><div class=”entry-content”>
<?php if ( post_password_required() ) : ?>
<?php the_excerpt(); ?>
<?php else : ?>
<?php
$images = get_children( array( 'post_parent’ => $post->ID, 'post_type’ => 'attachment’, 'post_mime_type’ => 'image’, 'orderby’ => 'menu_order’, 'order’ => 'ASC’, 'numberposts’ => 999 ) );
if ( $images ) :
$total_images = count( $images );
$image = array_shift( $images );
$image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail’ );
?>
<div class=”gallery-thumb”>
„><?php echo $image_img_tag; ?>
</div><!– .gallery-thumb –>
<p><?php printf( _n( 'This gallery contains %2$s photo.’, 'This gallery contains %2$s photos.’, $total_images, 'twentyten’ ),
'href=”’ . get_permalink() . '” title=”’ . sprintf( esc_attr__( 'Permalink to %s’, 'twentyten’ ), the_title_attribute( 'echo=0′ ) ) . '” rel=”bookmark”’,
number_format_i18n( $total_images )
); ?></p>
<?php endif; ?>
<?php the_excerpt(); ?>
<?php endif; ?>
</div><!– .entry-content –><div class=”entry-utility”>
<?php if ( function_exists( 'get_post_format’ ) && 'gallery’ == get_post_format( $post->ID ) ) : ?>
” title=”<?php esc_attr_e( 'View Galleries’, 'twentyten’ ); ?>”><?php _e( 'More Galleries’, 'twentyten’ ); ?>
<span class=”meta-sep”>|</span>
<?php elseif ( in_category( _x( 'gallery’, 'gallery category slug’, 'twentyten’ ) ) ) : ?>
” title=”<?php esc_attr_e( 'View posts in the Gallery category’, 'twentyten’ ); ?>”><?php _e( 'More Galleries’, 'twentyten’ ); ?>
<span class=”meta-sep”>|</span>
<?php endif; ?>
<span class=”comments-link”><?php comments_popup_link( __( 'Leave a comment’, 'twentyten’ ), __( '1 Comment’, 'twentyten’ ), __( '% Comments’, 'twentyten’ ) ); ?></span>
<?php edit_post_link( __( 'Edit’, 'twentyten’ ), '<span class=”meta-sep”>|</span> <span class=”edit-link”>’, '</span>’ ); ?>
</div><!– .entry-utility –>
</div><!– #post-## –><?php /* How to display posts of the Aside format. The asides category is the old way. */ ?>
<?php elseif ( ( function_exists( 'get_post_format’ ) && 'aside’ == get_post_format( $post->ID ) ) || in_category( _x( 'asides’, 'asides category slug’, 'twentyten’ ) ) ) : ?>
<div id=”post-<?php the_ID(); ?>” <?php post_class(); ?>><?php if ( is_archive() || is_search() ) : // Display excerpts for archives and search. ?>
<div class=”entry-summary”>
<?php the_excerpt(); ?>
</div><!– .entry-summary –>
<?php else : ?>
<div class=”entry-content”>
<?php the_excerpt( __( 'Continue reading <span class=”meta-nav”>→</span>’, 'twentyten’ ) ); ?>
</div><!– .entry-content –>
<?php endif; ?><div class=”entry-utility”>
<?php twentyten_posted_on(); ?>
<span class=”meta-sep”>|</span>
<span class=”comments-link”><?php comments_popup_link( __( 'Leave a comment’, 'twentyten’ ), __( '1 Comment’, 'twentyten’ ), __( '% Comments’, 'twentyten’ ) ); ?></span>
<?php edit_post_link( __( 'Edit’, 'twentyten’ ), '<span class=”meta-sep”>|</span> <span class=”edit-link”>’, '</span>’ ); ?>
</div><!– .entry-utility –>
</div><!– #post-## –><?php /* How to display all other posts. */ ?>
<?php else : ?>
<div id=”post-<?php the_ID(); ?>” <?php post_class(); ?>>
<h2 class=”entry-title”>” title=”<?php printf( esc_attr__( 'Permalink to %s’, 'twentyten’ ), the_title_attribute( 'echo=0′ ) ); ?>” rel=”bookmark”><?php the_title(); ?></h2><div class=”entry-meta”>
<?php twentyten_posted_on(); ?>
</div><!– .entry-meta –><?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
<div class=”entry-summary”>
<?php the_excerpt(); ?>
</div><!– .entry-summary –>
<?php else : ?>
<div class=”entry-content”>
<?php the_excerpt( __( 'Continue reading <span class=”meta-nav”>→</span>’, 'twentyten’ ) ); ?>
<?php wp_link_pages( array( 'before’ => '<div class=”page-link”>’ . __( 'Pages:’, 'twentyten’ ), 'after’ => '</div>’ ) ); ?>
</div><!– .entry-content –>
<?php endif; ?><div class=”entry-utility”>
<?php if ( count( get_the_category() ) ) : ?>
<span class=”cat-links”>
<?php printf( __( '<span class=”%1$s”>Posted in</span> %2$s’, 'twentyten’ ), 'entry-utility-prep entry-utility-prep-cat-links’, get_the_category_list( ’, ’ ) ); ?>
</span>
<span class=”meta-sep”>|</span>
<?php endif; ?>
<?php
$tags_list = get_the_tag_list( ”, ’, ’ );
if ( $tags_list ):
?>
<span class=”tag-links”>
<?php printf( __( '<span class=”%1$s”>Tagged</span> %2$s’, 'twentyten’ ), 'entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?>
</span>
<span class=”meta-sep”>|</span>
<?php endif; ?>
<span class=”comments-link”><?php comments_popup_link( __( 'Leave a comment’, 'twentyten’ ), __( '1 Comment’, 'twentyten’ ), __( '% Comments’, 'twentyten’ ) ); ?></span>
<?php edit_post_link( __( 'Edit’, 'twentyten’ ), '<span class=”meta-sep”>|</span> <span class=”edit-link”>’, '</span>’ ); ?>
</div><!– .entry-utility –>
</div><!– #post-## –><?php comments_template( ”, true ); ?>
<?php endif; // This was the if statement that broke the loop into three parts based on categories. ?>
<?php endwhile; // End the loop. Whew. ?>
<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<div id=”nav-below” class=”navigation”>
<div class=”nav-previous”><?php next_posts_link( __( '<span class=”meta-nav”>←</span> Older posts’, 'twentyten’ ) ); ?></div>
<div class=”nav-next”><?php previous_posts_link( __( 'Newer posts <span class=”meta-nav”>→</span>’, 'twentyten’ ) ); ?></div>
</div><!– #nav-below –>
<?php endif; ?>Wygląda w miarę OK.
PS. Byłoby wygodniej, gdybyś wklejał kod np. przez PasteBin.com
PPS. Jeśli rozwiązane, to oznacz jako takie – ułatwisz pomaganie innym 🙂
Temat ‘Czytaj więcej…’ jest zamknięty na nowe odpowiedzi.