広島で働く人のブログ

アイコンはまだ無い

WordPressでサイトを作らなければいけなかったのでその覚書

個人的なWordPressのメモです。 とりあえずこれが出来れば自分の作りたいサイトが作成できた。 引用が多いです。 あと、コードだけ拝借して、元のサイトのURLをを忘れてしまったものあります。 次からは気をつけよう。

やったこと

  • 日本語のチートシートを調べる
  • トップページそれ以外の表示の切り替え
  • 自分で名前を付けたテンプレートをインクルード(読み込む)
  • 投稿、固定ページでテンプレートをショーコードで読み込む
  • 投稿時にカテゴリを一つだけ選択させる
  • カスタム投稿タイプをプラグインで追加
  • カスタムフィールドを簡単にカスタマイズプラグイン
  • カスタム投稿を表示する
  • カテゴリ名をリンクなしで表示
  • 特定のタームを表示

チートシート

(日本語版 WordPressチートシート)http://www.webcreatorbox.com/tech/japanese-wordpress-cheat-sheet/

表示の切り替え

トップページにだけ表示する場合

<?php if ( is_home() || is_front_page() ) : ?>
//ここにトップページにだけ表示したい何かを入れる
<?php endif; ?>

トップページにだけ表示したくない場合

<?php if ( !is_home() && !is_front_page() ) : ?>
//ここにトップページにだけ表示したくない何かを入れる
<?php endif; ?>

トップページとそれ意外で表示を切り分けたい場合

<?php if ( is_home() || is_front_page() ) : ?>
//ここにトップページにだけ表示したい何かを入れる
<?php else : ?>
//トップページとそれ意外で表示を切り分けたい場合
<?php endif; ?>

自分で名前を付けたテンプレートをインクルードする

//content.phpの場合
<?php get_template_part('content'); ?>
//content-single.phpの場合
<?php get_template_part('content', 'single'); ?>

投稿、固定ページでテンプレートをショーコードで読み込む

<?php
function show_contact_form() {
  ob_start();
  get_template_part('partials/contact'); // partials/contact.phpの内容が表示される
  return ob_get_clean();
}
add_shortcode('contact', 'show_contact_form'); // [contact]のショートコードになる
?>

投稿時にカテゴリを一つだけ選択させる

プラグイン名:Adjust Admin Categories WordPress:カテゴリー箇所をカスタマイズ出来るプラグイン「Adjust Admin Categories」を公開しました

カスタム投稿タイプをプラグインで追加

プラグイン名:Custom Post Type UI Custom Post Type UIの使い方[WordPress] (カスタム投稿タイプとカスタムタクソノミーまとめ)http://kotori-blog.com/wordpress/posttype_taxonomy/

表示させるテンプレートは single-〇〇〇〇(post type名).phpを使う

カスタムフィールドを簡単にカスタマイズプラグイン

プラグイン名:Adjust Admin Categories (WordPressの投稿入力フォームのカスタマイズ(カスタム投稿タイプ+カスタムフィールド))http://www.nishi2002.com/5143.html

//表示用タグ
<?php echo post_custom('フィールド名'); ?>

画像の場合

<?php
$image = post_custom('image');
echo wp_get_attachment_image($image, 'full');
?>

カスタム投稿を表示する

 <?php $args = array(
        'numberposts' => -1,     //表示(取得)する記事の数 -1で全件
        'post_type' => 'shop'    //投稿タイプの指定。post type名を記入
    );
    $customPosts = get_posts($args);
    if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?>

        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 

    <?php endforeach; ?>
    <?php else : //記事が無い場合 ?>
        <li><p>記事はまだありません。</p></li>
    <?php endif;
    wp_reset_postdata(); //クエリのリセット ?>

カテゴリ名をリンクなしで表示

<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?>

特定のタームを表示

<?php
$args = array(
'post_type' => 'sale', //投稿タイプの指定。post type名を記入
'brand' => 'prada',    //カテゴリとタームを指定。この場合カテゴリはbrand タームはprada
'posts_per_page' => 10,
'numberposts' => '-1',
);
$my_posts = get_posts($args);
foreach ( $my_posts as $post ) {
setup_postdata($post); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php
}
?>

まとめ

思ったより簡単に作れた! 複雑な事をしなければ、特に難しい事は無いですね。 以下は使った書籍です。 わかりやすかった。。。

本格ビジネスサイトを作りながら学ぶ WordPressの教科書2

本格ビジネスサイトを作りながら学ぶ WordPressの教科書2

本格ビジネスサイトを作りながら学ぶ WordPressの教科書

本格ビジネスサイトを作りながら学ぶ WordPressの教科書

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

WordPressレッスンブック HTML5&CSS準拠

WordPressレッスンブック HTML5&CSS準拠