WordPressオリジナルテーマの基本

フォルダを1つ作り、その中に[functions.php],[index.php],[style.css]を作ります。

[functions.php]

ワードプレスに機能を追加していくためのファイルです。
//カスタム投稿タイプの追加
add_action( "init", "create_post_type" );
function create_post_type() {
  register_post_type( "news", // 投稿タイプ名の定義
    array(
      "labels" => array(
        "name" => __( "information", "my_theme"), // 表示する投稿タイプ名
        "singular_name" => __( "information", "my_theme"),
      ),
     "supports" => array('title','editor','thumbnail'), //アイキャッチ画像機能の追加
     "public" => true,
     "menu_position" =>5, //メニューバーの表示順
    )
  );
}
//サイドバーの追加
register_sidebar(array(
  'id' => 'sub-content', //サイドバーのid
  'name' => __( 'Sidebar1'), //サイドバー名の定義
  'description' => __( 'The first (primary) sidebar.'), //ウィジェット管理画面で表示するサイドバーの説明
  'before_widget' => '<div id="%1$s" class="widget %2$s">', //ウィジェットに付加するタグ
  'after_widget'  => '</div>',
  'before_title' => '<h4 class="widget-title">', // ウィジェット内の要素に付加するタグ
  'after_title' => '</h4>',
));
//翻訳機能の追加
function my_theme_setup(){
  add_theme_support('post-thumbnails');
  load_theme_textdomain( 'my_theme', get_template_directory() . '/languages' );
}

[index.php]

サイトのトップページにあたるファイルです。 ここに要素を呼び出していきます。

//サイト名の呼び出し
<?php bloginfo('name'); ?>

//サイト説明の呼び出し
<?php bloginfo('description'); ?>

//記事タイトルの呼び出し
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

//投稿日時の呼び出し
<?php echo get_the_date(); ?>

//著者名の呼び出し
<?php the_author(); ?>

//カテゴリの呼び出し
<?php the_category(', '); ?>

//本文の呼び出し
<?php the_content(続きを読む); ?>
実際に投稿記事を呼び出す場合にはループ処理を行う必要があります。 whileからendwhileのループの中で呼び出しを行うことで、記事1のタイトル~本文、記事2のタイトル~本文というようにすべての記事を呼び出すことができます。
<?php if(have_posts()): while(have_posts()): the_post(); ?>
  <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  <?php echo get_the_date(); ?>
  <?php the_author(); ?>
  <?php the_category(', '); ?>
  <?php the_content(続きを読む); ?>
<?php endwhile; endif; ?>

[style.css]

//必須表記
/*
Theme Name: SampleTheme
Author: SampleUser
Author URI: http://●●●.com
Description: サンプルのテーマ
Text Domain: my_theme
*/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です