よく使うワードプレスのphp関数スニペット。随時追加

しょっちゅう使うわけではないけれど、ワードプレスを使うサイトが多くなってきたことに伴い使う頻度は増えてきたワードプレスの関数をその都度調べて記述するのもめんどくさくなってきたのでまとめてみました。

● まずは、htmlファイルでphpを読み込むときに必要な.htaccessへの記述

AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html

※エックスサーバーの場合には上記記述ではなく、以下のいずれかが必要
※phpのバージョンは使用環境に合わせる

AddHandler fcgid-script .html
AddHandler x-httpd-php7.2 .php .phps .html

● htmlファイルでphpを読み込むときは.htaccessへの記述とともにphpを読み込みたいhtmlごとに以下の記述が必要
※htmlファイルの1行目に記述する
※相対指定なので、環境に合わせてwp-load.phpを指定する

<?php require('./blog/wp-load.php'); ?>

● 投稿の項目表示一覧

<!-- テーマテンプレートURL -->
<?php echo get_template_directory_uri(); ?>

<!-- タイトル -->
<?php the_title();?> 

<!-- 本文 -->
<?php the_content();?> 

<!-- 抜粋 -->
<?php the_excerpt();?> 

<!-- タグ -->
<?php the_tags();?> 

<!-- カテゴリ -->
<?php the_category();?> 

<!-- サムネイル画像(アイキャッチ) -->
<?php the_post_thumbnail();?> 

<!-- ファイル名(スラッグ) -->
<?php echo $post->post_name;?> 

<!-- 公開日付 -->
<?php the_date();?> 

<!-- サムネイル画像(アイキャッチ)のURL -->
<?php if ( has_post_thumbnail() ) {
$image_id = get_post_thumbnail_id ();
$image_url = wp_get_attachment_image_src ($image_id, true);
echo $image_url[0];
} else {
echo get_bloginfo( 'template_directory' ) . '/images/thumbnail.png';
} ?>

<!-- 最新の投稿5件を表示 -->
<ul>
<?php
$args = array(
'posts_per_page' => 5 // 表示件数の指定
);
$posts = get_posts( $args );
foreach ( $posts as $post ): // ループの開始
setup_postdata( $post ); // 記事データの取得
?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php
endforeach; // ループの終了
wp_reset_postdata(); // 直前のクエリを復元する
?>
</ul>

●特定投稿の項目表示一覧

<!-- サムネイル画像(アイキャッチ) -->
<?php echo get_the_post_thumbnail(記事ID ); ?> 

<!-- タイトル -->
<?php get_the_title( 記事ID ); ?> 

<!-- URL -->
<?php get_permalink( 記事ID ); ?> 

<!-- 本文 -->
<?php echo get_post( 記事ID )->post_content; ?> 

<!-- 本文(改行あり) -->
<?php $post_id = 記事ID;
$post = get_post($post_id);
echo apply_filters('the_content',$post->post_content); ?> 

<!-- サムネイル画像(アイキャッチ)のURL -->
<?php echo wp_get_attachment_url(get_post_thumbnail_id(記事ID)); ?> 

● 基本的なループ

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- 内容  -->
<div><?php the_content(); ?></div>
<?php endwhile; else: ?>
<!-- 投稿なし  -->
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

● 特定のカテゴリを特定件数表示

<?php
$posts = get_posts(array(
'posts_per_page' => 2, // 表示件数
'category' => '1' // カテゴリID/スラッグ名
));
?>
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<!--表示する内容が入ります。-->
<hn><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></hn>
<p><?php the_time('Y/m/d') ?></p>
<p><?php the_excerpt(); ?></p>
<p><a href="<?php the_permalink() ?>">続きを見る</a></p>
<!--表示する内容ここまで-->
<?php endforeach; endif; ?>

● ページング

<!--アーカイブページの場合-->
the_posts_navigation( array(
'prev_text'    => '< 古い投稿',
'next_text'    => '新しい投稿 >'
)
);

<!--シングルページの場合-->
the_post_navigation( array(
'prev_text'    => '< 古い投稿',
'next_text'    => '新しい投稿 >'
)
);

● サイドバーとかで

<!--カレンダー-->
<?php get_calendar(); ?> 

<!--アーカイブ特定件数-->			
<ul>
<?php wp_get_archives( 'type=postbypost&limit=5' ); ?>
</ul> 

<!--カテゴリー一覧-->
<ul>
<?php wp_list_categories( 'title_li=' ); ?>
</ul>

よく使うワードプレスのphp関数スニペット。随時追加

しょっちゅう使うわけではないけれど、ワードプレスを使うサイトが多くなってきたことに伴い使う頻度は増えてきたワードプレスの関数をその都度調べて記述するのもめんどくさくなってきたのでまとめてみました。 ● まずは、htmlフ…続きを読む

OSやブラウザで表示に違いが出てしまう絵文字を絵文字フォントで代替する

ブログの記事などで絵文字を使いたいなという場面がありますが、絵文字はOSやブラウザなどの環境によって表現に違いがあったりなどはまだいい方で、最悪表示されないことも想定しなければならないのが困るところです。&#x1F617…続きを読む

Atom vs VSCode vs Brackets、もっとも使いやすいエディタはこれだ!…といいな

typewriter

真夜中WEBではWYSIWYGエディタを使用せず、テキストエディタを使ってホームページ制作を行っております。 具体的にはWindowsでは「サクラエディタ」を、Macでは「mi」を使用しているんですが、OSごとにエディタ…続きを読む

Open Street MapはGoogle Mapの代替案となりえるのか

2018年7月16日よりgooglemapの仕様変更に伴ってgooglemapAPIを使って呼び出している地図(カスタマイズを施しているものを含む)を表示するにはAPIキーとお支払い情報の設定が必須となりました。 このこ…続きを読む

CSSだけで実装できる! スクロールした時に画像以外のコンテンツを挟んで背景画像を切り替える方法

タイトルを読んだだけではイマイチ分かりにくいので、下記デモページをご覧ください。 デモページを見る ご確認いただけましたか?そうです、よく見かけるやつです。 ※ただこの方法、ものすごく簡単なんですがスマートフォン(多分タ…続きを読む

もっともっとモックアップを活用しよう 1

candle-mock-up

Mockup(モックアップ ※模型の意)とはデザインなどの現場で使われる手法の一つで、作成過程で完成イメージをビジュアル的に確認するために使われるもので、プレゼンテーションやブランディングイメージ作成シーンに欠かせないも…続きを読む