こんにちは! ケケンタです。
この記事では
WordPressで各種類のページのURLや
画像・CSS・jsファイルのパスを取得する方法
をまとめてご紹介します。
各種ページのURLを取得
トップページ
home_url()
<a href="<?php echo esc_url( home_url() ); ?>">トップページ</a>
投稿一覧ページ
home_url()
<a href="<?php echo esc_url( home_url('/投稿一覧ページのスラッグ') ); ?>">投稿一覧ページ</a>
<!-- 使用例 -->
<a href="<?php echo esc_url( home_url('/sample') ); ?>">投稿一覧ページ</a>
固定ページ
the_permalink()
<a href="<?php the_permalink( 固定ページID ); ?>">固定ページへのリンク</a>
<!-- 使用例 -->
<a href="<?php the_permalink( 30 ); ?>">固定ページへのリンク</a>
投稿個別ページ
the_permalink()
<a href="<?php the_permalink( 投稿ページID ); ?>">投稿個別ページへのリンク</a>
<!-- 使用例 -->
<a href="<?php the_permalink( 30 ); ?>">投稿個別ページへのリンク</a>
ループ内で使用する場合
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- 投稿個別ページへのリンク -->
<p>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</p>
<?php endwhile; ?>
<?php endif; ?>
カテゴリーアーカイブページ
get_category_link()
<a href="<?php echo get_category_link( カテゴリーID ); ?>">カテゴリーアーカイブへのリンク</a>
<!-- 使用例 -->
<a href="<?php echo get_category_link( 7 ); ?>">カテゴリーアーカイブへのリンク</a>
「現在のページのカテゴリー」の
アーカイブページリンクを出力したい場合
<!-- アーカイブページへのリンク -->
<?php
$cat = get_the_category()[0];
$cat_id = $cat->cat_ID;
?>
<a href="<?php echo get_category_link( $cat_id ); ?>">カテゴリーアーカイブへのリンク</a>
「すべてのカテゴリー」の
アーカイブページリンクをまとめて出力したい場合
<!-- カテゴリーアーカイブページへのリンク -->
<?php
$categories = get_categories();
if ( $categorie ) {
echo '<ul>';
foreach( $categories as $category ) {
echo '<li><a href="'. get_category_link( $category->term_id ) . '">'. $category->name . '</a></li>';
}
echo '<ul>';
}
?>
<!-- すべてのカテゴリーのアーカイブページリンクを出力する -->
<?php wp_list_categories(); ?>
タグアーカイブページ
get_tag_link()
<a href="<?php echo get_tag_link( タグID ); ?>">タグアーカイブへのリンク</a>
<!-- 使用例 -->
<a href="<?php echo get_tag_link( 10 ); ?>">タグアーカイブへのリンク</a>
「すべてのタグ」の
アーカイブページリンクをまとめて出力したい場合
<!-- タグアーカイブページへのリンク -->
<?php
$posttags = get_the_tags();
if ( $posttags ) {
echo '<ul>';
foreach ( $posttags as $tag ) {
echo '<li><a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a></li>';
}
echo '</ul>';
}
?>
カスタム投稿一覧ページ
get_post_type_archive_link()
<a href="<?php echo get_post_type_archive_link( 'カスタム投稿のスラッグ' ); ?>">カスタム投稿一覧ページへのリンク</a>
<!-- 使用例 -->
<a href="<?php echo get_post_type_archive_link( 'custom_sample' ); ?>">カスタム投稿一覧ページへのリンク</a>
カスタム投稿個別ページ
the_permalink()
<a href="<?php the_permalink( カスタム投稿ページID ); ?>">カスタム投稿個別ページへのリンク</a>
<!-- 使用例 -->
<a href="<?php the_permalink( 20 ); ?>">カスタム投稿個別ページへのリンク</a>
ループ内で使用する場合
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- カスタム投稿個別ページへのリンク -->
<p>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</p>
<?php endwhile; ?>
<?php endif; ?>
画像・CSS・jsファイルまでのURLを取得
- 親テーマ内のファイルを使用する場合……get_template_directory_uri()
- 子テーマ内のファイルを使用する場合……get_stylesheet_directory_uri()
画像ファイル
画像ファイルが
「親テーマ」→「assets」→「img」ディレクトリ
に配置されているという想定です。
<!-- 使用例 -->
<img src="<?php echo get_template_directory_uri(); ?>/assets/img/sample.jpg">
CSSファイル
CSSファイルが
「親テーマ」→「css」ディレクトリ
に配置されているという想定です。
<!-- 使用例 -->
<link href="<?php echo get_template_directory_uri(); ?>/css/sample.css" rel="stylesheet" />
functions.phpでCSSファイルを読み込む場合
function my_add_css_files() { // 関数名は任意
// CSSの読み込み
wp_enqueue_style( 'sample', get_stylesheet_directory_uri() . '/css/sample.css' );
}
add_action( 'wp_enqueue_scripts', 'my_add_css_files' );
- 第1引数は別の処理でsample.cssを扱う際に用いる「ハンドル名」(任意の名前)
jsファイル
「親テーマ」→「js」ディレクトリ
に配置されているという想定です。
<!-- 使用例 -->
<script src="<?php echo get_template_directory_uri(); ?>/js/sample.js" />
functions.phpでjsファイルを読み込む場合
function my_add_js_files() { // 関数名は任意
// jsファイルの読み込み
wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/sample.js', array('jquery'), false, true );
}
add_action( 'wp_enqueue_scripts', 'my_add_js_files' );
- 第1引数は別の処理でsample.jsを扱う際に用いる「ハンドル名」(任意の名前)
- 第3引数は「jQueryの読み込み後にこのjsファイルを読み込む」という指定
- 最後の引数をtrueにすることで</body>直前に読み込む
まとめ
以上がWordPressで各種類のページや画像・CSS・jsファイルを取得する方法のまとめでした。
どれも使用頻度が高いものばかりなので、ぜひこのページをブックマークに保存していただき、いつでも呼び出せるようにしていただければと思います。
この記事が少しでもお役に立ったなら何よりです!
当ブログではWordPressやWeb制作、PHPに関する情報を発信しています。
ご興味のある方は他の記事もご覧いただけると嬉しいです。
コメント