投稿の取得でよく使うwordpress関数です。
ループの中で使用します。
使用例
<?php if ( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
<?php the_title( '<h2><a href="' . esc_url( get_permalink() ) . '">', '</a></h2>' ); ?>
<p><?php the_time('Y年m月j日');?></p>
<p><?php the_content(); ?></p>
<?php endwhile;?>
<?php endif; ?>
投稿タイトル取得
<?php the_title(); ?>
投稿日取得
the_date();とthe_time();両方とも日付の取得が可能だが、
the_date();は「同じ日に複数の他の記事がある場合、最初の記事のみ日付が出力される」仕様になっているため、
一覧ページの場合は、the_time();を使用した方が良い。
<?php the_date('Y年m月j日'); ?>
または
<?php the_time('Y年m月j日'); ?>
リンク取得
the_permalink();
<?php the_title( '<a href="' . esc_url( get_permalink() ) . '">', '</a>' ); ?>
または
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
get_permalink
URLを文字列として取得する。
<?php $permalink = get_permalink(); ?>
投稿のIDを指定するとループの外でもURLを取得することができる。
<?php $permalink = get_permalink( 投稿のIDを記述 ); ?>
投稿内容取得
the_content();
本文をそのまま表示する場合に使用する。
<?php the_content(); ?>
get_the_content();
文字列として取得する場合に使用する。
strip_shortcodes()関数を使用すると純粋なテキストのみを取得することができる。
<?php
$content = get_the_content();
$text = strip_tags( strip_shortcodes( $content ) );
?>
wp_strip_all_tags();
あらゆるHTMLタグを除去する。
例えば、一覧ページに詳細ページの本文を抜粋する際に、文字列で表示するには不向きなタグ(画像やリンクなどのhtml)が入っている場合に、文字列のみ取り出すことができる。
<?php
$content = get_the_content();
echo '<div>'. wp_strip_all_tags($content). '</div>'; ?>