WordPressで投稿日、投稿者を非表示にする方法

WordPressで投稿日、投稿者を非表示にする方法

デフォルトテーマのTwentyFourteenやTwentyThirteen、TwentyTwelveをはじめ、多くのテーマは投稿ページ上部や下部に投稿日や投稿者を自動的に表示しますが、これらを表示しておきたくない場合には簡単に非表示にすることができます。

目次

※テーマファイルをいじる際は事前に必ずバックアップファイルを取ってください。

Twenty Fifteen

twentyfifteen

Twenty Fifteenでは投稿日、コメント件数、編集リンクはcontent.phpfooter class=”entry-footer“内にまとめられ、コードもかなりスッキリしました。

トップページやカテゴリーページでコメント件数が表示されている部分は個別記事ページでは投稿者名が表示されます。

	<footer class="entry-footer">
		<?php twentyfifteen_entry_meta(); ?>
		<?php edit_post_link( __( 'Edit', 'twentyfifteen' ), '<span class="edit-link">', '</span>' ); ?>
	</footer><!-- .entry-footer -->

※ソースを一部抜粋しているので実際の行番号は異なります。

2行目を削除またはコメントアウトすれば投稿日とコメント件数と個別記事ページの投稿者名を、3行目を削除またはコメントアウトすれば編集リンクを非表示にすることができます。

部分的に非表示にしたい場合

ソースがまとめられた分、投稿日、投稿者、コメント件数のいずれかのみ非表示にするには少々とっつきづらいファイルをいじる必要ができました。

上記の通り、content.phpではtwentyfifteen_entry_metaでこれらのパーツがまとめて出力されていますので、いずれかのみ非表示にしたい場合は定義ファイルtemplate-tags.phpをいじる必要があります。

投稿日のみ非表示

投稿日のみ非表示にしたい場合はtemplate-tags.phpファイル内の下記全文を消去、またはコメントアウトします。

if ( in_array( get_post_type(), array( 'post', 'attachment' ) ) ) {
		$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';

		if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
			$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
		}

		$time_string = sprintf( $time_string,
			esc_attr( get_the_date( 'c' ) ),
			get_the_date(),
			esc_attr( get_the_modified_date( 'c' ) ),
			get_the_modified_date()
		);

		printf( '<span class="posted-on"><span class="screen-reader-text">%1$s </span><a href="%2$s" rel="bookmark">%3$s</a></span>',
			_x( 'Posted on', 'Used before publish date.', 'twentyfifteen' ),
			esc_url( get_permalink() ),
			$time_string
		);
	}

コメント件数のみ非表示

コメント件数のみ非表示にしたい場合は下記全文を消去、またはコメントアウトします。

	if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
		echo '<span class="comments-link">';
		comments_popup_link( __( 'Leave a comment', 'twentyfifteen' ), __( '1 Comment', 'twentyfifteen' ), __( '% Comments', 'twentyfifteen' ) );
		echo '</span>';
	}

個別記事の投稿者名のみ削除

個別記事で表示される投稿者名のみを非表示にしたい場合は下記全文を消去、またはコメントアウトします。

	if ( 'post' == get_post_type() ) {
		if ( is_singular() || is_multi_author() ) {
			printf( '<span class="byline"><span class="author vcard"><span class="screen-reader-text">%1$s </span><a class="url fn n" href="%2$s">%3$s</a></span></span>',
				_x( 'Author', 'Used before post author name.', 'twentyfifteen' ),
				esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
				get_the_author()
			);
		}

		$categories_list = get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfifteen' ) );
		if ( $categories_list && twentyfifteen_categorized_blog() ) {
			printf( '<span class="cat-links"><span class="screen-reader-text">%1$s </span>%2$s</span>',
				_x( 'Categories', 'Used before category names.', 'twentyfifteen' ),
				$categories_list
			);
		}

		$tags_list = get_the_tag_list( '', _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfifteen' ) );
		if ( $tags_list ) {
			printf( '<span class="tags-links"><span class="screen-reader-text">%1$s </span>%2$s</span>',
				_x( 'Tags', 'Used before tag names.', 'twentyfifteen' ),
				$tags_list
			);
		}
	}

Twenty Fourteen

twentyfourteen

Twenty Fourteenの場合、投稿日や投稿者、所属カテゴリーなどは全てcontent.phpの中のdiv class=”entry-meta”から/divの中で呼び出しています。

		<div class="entry-meta">
			<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
		</div>
		<?php
			endif;

			if ( is_single() ) :
				the_title( '<h1 class="entry-title">', '</h1>' );
			else :
				the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
			endif;
		?>

		<div class="entry-meta">
			<?php
				if ( 'post' == get_post_type() )
					twentyfourteen_posted_on();

				if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) :
			?>
			<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
			<?php
				endif;

				edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' );
			?>
		</div><!-- .entry-meta -->

※ソースを一部抜粋しているので実際の行番号は異なります。

2行目のget_the_category_listでその記事の属するカテゴリーを、
16,17行目のtwentyfourteen_posted_onで投稿日、投稿者名を、
21行目で「コメントをどうぞ」のリンク、
25行目で「編集」をそれぞれ表示しています。
(画像ではカテゴリーが1つしかないためタイトル上に表示されるはずのカテゴリーが表示されていません)

なのでそれぞれ上記のソースを消去するか該当部分をコメントアウトすることで非表示にすることができます。

全部いらねーよっ!オラァッ!!って方は4~12行目(タイトルを表示するコード)だけ残して後は全部消しちゃえばOKです。

		<div class="entry-meta">
			<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
		</div>
		<?php
			endif;

			if ( is_single() ) :
				the_title( '<h1 class="entry-title">', '</h1>' );
			else :
				the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
			endif;
		?>

		<div class="entry-meta">
			<?php
				if ( 'post' == get_post_type() )
					twentyfourteen_posted_on();

				if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) :
			?>
			<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
			<?php
				endif;

				edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' );
			?>
		</div><!-- .entry-meta -->

投稿日、投稿者名の一方のみ非表示にしたい場合

投稿日、投稿者名は両方とも17行目の twentyfourteen_posted_on で読み込まれているため、これらのうち一方のみ非表示にしたい場合はテーマファイル内の inc/template-tags.php にあるこの関数の定義文ををいじる必要があります。

	// Set up and print post meta information.
	printf( '<span class="entry-date"><a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s">%3$s</time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="%4$s" rel="author">%5$s</a></span></span>',
		esc_url( get_permalink() ),
		esc_attr( get_the_date( 'c' ) ),
		esc_html( get_the_date() ),
		esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
		get_the_author()
	);

投稿日のみ非表示にしたい場合は上記のうち

<span class=”entry-date”><a href=”%1$s” rel=”bookmark”><time class=”entry-date” datetime=”%2$s”>%3$s</time></a></span> の部分を、

投稿者名のみ非表示にしたい場合は

<span class=”byline”><span class=”author vcard”><a class=”url fn n” href=”%4$s” rel=”author”>%5$s</a></span></span> の部分を削除、またはコメントアウトします。

TwentyThirteen

twentythirteen


<div class="entry-meta">
			<?php twentythirteen_entry_meta(); ?>
			<?php edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
		</div><!-- .entry-meta -->
	</header><!-- .entry-header -->

	<?php if ( is_search() ) : // Only display Excerpts for Search ?>
	<div class="entry-summary">
		<?php the_excerpt(); ?>
	</div><!-- .entry-summary -->
	<?php else : ?>
	<div class="entry-content">
		<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentythirteen' ) ); ?>
		<?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentythirteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
	</div><!-- .entry-content -->
	<?php endif; ?>

	<footer class="entry-meta">
		<?php if ( comments_open() && ! is_single() ) : ?>
			<div class="comments-link">
				<?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a comment', 'twentythirteen' ) . '</span>', __( 'One comment so far', 'twentythirteen' ), __( 'View all % comments', 'twentythirteen' ) ); ?>
			</div><!-- .comments-link -->
		<?php endif; // comments_open() ?>

		<?php if ( is_single() && get_the_author_meta( 'description' ) && is_multi_author() ) : ?>
			<?php get_template_part( 'author-bio' ); ?>
		<?php endif; ?>
	</footer><!-- .entry-meta -->
</article><!-- #post -->

※ソースを一部抜粋しているので実際の行番号は異なります。

2行目で投稿日とカテゴリーを呼び出しています。
3行目で「編集」のリンクを、
19~23行目で記事ページ以外で「コメントをどうぞ」、
25~27行目で投稿者が複数いる場合に投稿者を表示するコードになっています。

こちらも非表示にしたい方は該当部分を消去するかコメントアウトしてください。

TwentyTwelve

twentytwelve

<?php if ( comments_open() ) : ?>
				<div class="comments-link">
					<?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentytwelve' ) . '</span>', __( '1 Reply', 'twentytwelve' ), __( '% Replies', 'twentytwelve' ) ); ?>
				</div><!-- .comments-link -->
			<?php endif; // comments_open() ?>
		</header><!-- .entry-header -->

		<?php if ( is_search() ) : // Only display Excerpts for Search ?>
		<div class="entry-summary">
			<?php the_excerpt(); ?>
		</div><!-- .entry-summary -->
		<?php else : ?>
		<div class="entry-content">
			<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentytwelve' ) ); ?>
			<?php wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'twentytwelve' ), 'after' => '</div>' ) ); ?>
		</div><!-- .entry-content -->
		<?php endif; ?>

		<footer class="entry-meta">
			<?php twentytwelve_entry_meta(); ?>
			<?php edit_post_link( __( 'Edit', 'twentytwelve' ), '<span class="edit-link">', '</span>' ); ?>
			<?php if ( is_singular() && get_the_author_meta( 'description' ) && is_multi_author() ) : // If a user has filled out their description and this is a multi-author blog, show a bio on their entries. ?>
				<div class="author-info">
					<div class="author-avatar">
						<?php
						/** This filter is documented in author.php */
						$author_bio_avatar_size = apply_filters( 'twentytwelve_author_bio_avatar_size', 68 );
						echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
						?>
					</div><!-- .author-avatar -->
					<div class="author-description">
						<h2><?php printf( __( 'About %s', 'twentytwelve' ), get_the_author() ); ?></h2>
						<p><?php the_author_meta( 'description' ); ?></p>
						<div class="author-link">
							<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
								<?php printf( __( 'View all posts by %s <span class="meta-nav">&rarr;</span>', 'twentytwelve' ), get_the_author() ); ?>
							</a>
						</div><!-- .author-link	-->
					</div><!-- .author-description -->
				</div><!-- .author-info -->
			<?php endif; ?>
		</footer><!-- .entry-meta -->

※ソースを一部抜粋しているので実際の行番号は異なります。

1~5行目で「コメントをどうぞ」を、
20行目で投稿日とカテゴリーを、
21行目で「編集」のリンクを、
22行目から41行目で投稿者情報を表示しています。

該当箇所を消去、またはコメントアウトで非表示になります。

このエントリーをはてなブックマークに追加
カテゴリー: WordPress 投稿日:

WordPressで投稿日、投稿者を非表示にする方法」への9件のフィードバック

  1. mitty

    連投で大変恐縮なのですが…mittyです。

    を削除、コメントアウトして
    投稿日とコメント件数と個別記事ページの投稿者名すべて非表示にした場合、
    背景の枠(デフォルトだとライトグレーのもの)は残ってしまうと思います。

    それも消してしまう方法はご存知でしょうか。

    返信
  2. mitty

    こんにちは。
    初心者なものでとてもありがたく、参考にさせて頂いております。
    お忙しいとは存じますが、もしご教授頂ければ幸いです。
    Twenty Fifteenで、投稿者を非表示にしたく、
    上記の「部分的に非表示にしたい場合」を試したのですが、
    反映されませんでした。
    子テーマのcontent.phpでまとめて非表示にするのは出来たので、
    どうして部分的にだけできないのか原因が特定できずじまいです。
    考えられる原因、もしくは他に投稿者を非表示にする方法はありますでしょうか。

    返信
    1. 管理人 投稿作成者

      konasou様

      コメントありがとうございます。
      お役に立てたようで何よりです^^

      返信
  3. T.E.T

    部分的に投稿者名(ユーザー名)を非表示にしたいケースもよくありますので、参考にさせていただきました。
    ただ、私が扱っているTwenty Fourteenの場合は上記の方法と異なるようです。
    (※上記にはTwenty Fourteenの際のユーザー名削除については触れられておりませんが・・・)

    Twenty FourteenのテーマでインストールされたWPサイトの場合、
    投稿者名を消すためにはTwenty Fifteen同様、テーマ内のinc/template-tags.phpを編集する必要がありました。
    ただコードが全く異なり、デフォルトのものでは113行目付近の下記コードを消すまたは非表示で対応できました。

    %5$s

    いつかのWordpressバージョンでTwenty Fourteenテーマの更新があったのかな、
    というのが予想されるところですが、現在最新版で配られているWPに入ったTwenty Fourteenは、
    私のやり方の作りになっておりました。

    返信
    1. 管理人 投稿作成者

      T.E.T様

      ご指摘ありがとうございます。
      頂いたコメントを元に記事を修正、追記させていただきました。

      おっしゃる通り Twenty Fourteen において投稿者名(ユーザー名)を個別に消す方法についての記述が不足しており、投稿日ごと(twentyfourteen_posted_onを丸ごと)消す記載になっておりましたことお詫び申し上げます。

      返信

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。