WordPressでカテゴリー毎の投稿を一覧表示するショートコードを作成する

WordPressの固定ページに指定したカテゴリーidの投稿リストを表示するショートコードです。

functions.phpへ以下のコードを追加して、ショートコードを定義します。

カテゴリー毎の投稿を一覧表示するショートコード

// 投稿を取得する
// num_p:表示数
// id:カテゴリーID
// [p_list id=2 num_p=3]
function get_post_list($atts)
{
  $a = shortcode_atts(array(
    'num_p' => 20,
    'id' => 1
  ), $atts);
  $args = array(
    'numberposts'  => $a['num_p'],
    'category'    => $a['id']
  );
  $my_posts = get_posts($args);

  if (!empty($my_posts)) {
    $output =  '<ul>';
    foreach ($my_posts as $p) {
      $output .= '<li><a href="' . get_permalink($p->ID) . '">'
        . $p->post_title . '</a></li>';
    }
    $output .= '<ul>';
  }
  return $output ?? '<strong>条件に一致する投稿がありません</strong>';
}
// ショートコード
add_shortcode('p_list', 'get_post_list');

例) ショートコード使用1

[p_list id=8]

HTML編集で記載します。[get_p_list]でショートコードを指定し、引数として[id]の”8″を渡しています。カテゴリーIDが8の投稿リストを表示します。

例)ショートコード使用2

 [p_list id=8 num_p=3]

上記は、カテゴリーidの”8″の投稿取得して、投稿3つを表示します。

例) 実際の表示

WordPressのコピーライトを変更する twenty nineteen

このブログでも利用しているWordPressのデフォルトテーマである twenty nineteenのフッターにあるコピーライトを変更します。

変更前のコピーライト


変更後のコピーライト


コピーライトの変更方法

フッターの表示内容はサーバーのWordPressのテーマが格納されているフォルダ内の
“wp-content/themes/twentyseventeen/template-parts/footer”フォルダにある
“site-info.php”ファイル
で定義されています。

変更前のコード

<?php
/**
 * Displays footer site info
 *
 * @package WordPress
 * @subpackage Twenty_Seventeen
 * @since 1.0
 * @version 1.0
 */

?>
<div class="site-info">
	<?php
	if ( function_exists( 'the_privacy_policy_link' ) ) {
		the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
	}
	?>
	<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyseventeen' ) ); ?>" class="imprint">
		<?php printf( __( 'Proudly powered by %s', 'twentyseventeen' ), 'WordPress' ); ?>
	</a>
</div><!-- .site-info -->


変更後のコード

<?php
/**
 * Displays footer site info
 *
 * @package WordPress
 * @subpackage Twenty_Seventeen
 * @since 1.0
 * @version 1.0
 */

?>
<div class="site-info">
	<?php
	if ( function_exists( 'the_privacy_policy_link' ) ) {
		the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
	}
	?>
	<p>©2019 <a href="<?php echo site_url(); ?>"><?php echo bloginfo('name'); ?></a></p>
</div><!-- .site-info -->


具体的な変更箇所

変更前の一番下を除外して、下から3行を削除します。

<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyseventeen' ) ); ?>" class="imprint">
    <?php printf( __( 'Proudly powered by %s', 'twentyseventeen' ), 'WordPress' ); ?>
</a>

下記の一行に変更します。

<p>©2019 <a href="<?php echo site_url(); ?>"><?php echo bloginfo('name'); ?></a></p>