【覚書】wordpressのあれこれ

##はじめに
wordpressを触り始めたのでエラーと対処法を記録していきます。

##環境
サーバー：AWS EC2
端末：windows 10 Lenovo ideapad 330s

#テーマをwordpress上でhtml、cssを使ってカスタマイズしていく段階
###使用テーマ【sydney】

- テーマをダウンロードするとき、ダウンロードしたzipファイルは解凍せずに
wordpressの『外観』→『テーマ』→『新規追加』→『テーマのアップロード』から
PC上にダウンロードしたzipファイルをアップロードする

- テーマをちょこちょこ編集したい場合はchromeのdeveloper toolから要素のクラス名を探し、
　wordpressの『テキストエディター』から編集していく

- 投稿が表示されない場合（ぺーじがありませんorNOT FOUND 404が表示）
　『設定』→『パーマリンクの設定』を変更してみる
　 私の場合ははじめ『日時と投稿』が設定されていたけど『基本』に変更して
  『変更を保存』したら表示された。

- 投稿のホームページへの表示方法を設定したい時、
　『外観』→『カスタマイズ』→『ブログ設定』で表示方法変更可能

- コメントを受け付けないようにする方法
『設定』→『ディスカッション』→『新しい投稿へのコメントを許可』のチェックをはずす
この設定をする前に投稿した記事に関しては、『投稿』→個別の記事の『クイック編集』→『コメントを許可する』のチェックをはずす

- ファイルアプロード上限を変更する方法
php.iniの上限数を書き換える
①amazon linuxにログイン
②ホームディレクトリでsudo vi /etc/php.iniを実行
③php.iniの中身が表示されるので
文章中にあるリミット数を下記の様に書き換える！（追記ではない）
upload_max_filesize = 200M
post_max_size = 200M
memory_limit = 256M
文字を削除するときはx
文字を入力するときはi
※コツ：上の3つは並んでいるわけではなく、キーワード検索もできないので一つ書き換えたらEsc→：→w→エンターで都度保存する
④書き換え終わったら　:　→ q　→エンターで閉じる
⑤ホームディレクトリに戻るのでsudo service httpd restartを実行


#テーマを自作し、wordpress化する段階

##環境
サーバー：未定
端末：windows 10

##階層図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528355/154f3457-b8a1-8d5d-b627-9264ed91a2d4.png)

左に行くほど優先順位が高い

https://wpdocs.osdn.jp/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:wp-template-hierarchy.jpg

##wordpressタグ一覧

| よく使うタグ      |説明 |
|:----------------:|:-:|
| <?php get_header(); ?> |header.phpを呼び出す |
|  <?php wp_head(); ?> | headerタグ|
| <?php get_footer(); ?> |footer.phpを呼び出す |
|  <?php wp_footer(); ?> | footerタグ|
| <?php the_permalink(); ?> |リンクタグ |
| <?php the_post(); ?>| 投稿内容を呼び出す|
|     <?php while ( have_posts() ) : the_post(); ?><?php endwhile; ?>| 投稿を全て呼び出す|
| <?php the_title(); ?>| 投稿のタイトルを呼び出す |
| <?php the_content(); ?>|投稿の内容を全文呼び出す|
| <?php the_excerpt(); ?>|投稿の内容を一部呼び出す|
| <?php the_time("Y.m.d"); ?>|投稿日時を呼び出す/("Y.m.d"）で表示方法を変えれる |
| <?php the_author(); ?>| 投稿者を呼び出す|

・WordPress Codex日本語版
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0

##関数ファイル

```php:function.php
<?php
function init_func(){
//関数の初期化

  add_theme_support('title-tag');
//タブタイトルを表示させる
//※各ファイルで<title>タグがあると表示されない

  add_theme_support('post-thumbnails');
//投稿のアイキャッチ画像を表示させる

//カスタム投稿タイプを登録する
  register_post_type('news',[ 

    'labels' => [
      'name' => 'おしらせ',
      'add_new' => 'おしらせを追加',
      'add_new_item' => 'おしらせを追加',
      'edit_item' => 'おしらせを編集',
    ],
//投稿画面での表示の仕方

    'public' => true,
    'has_archive' => true,
    'hierarchical' => false,
    'supports' => [
      'title',
      'editor',
      'page_attributes'
    ],
    'menu_position' => 5,
    'menu_icon' => 'dashicons-testimonial'
  ]);
}

add_action('init', 'init_func');


```
##カスタム投稿を表示する方法
```php:index.php

 <ul>
        <?php $args = array(
          'numberposts' => 5, //表示する記事の数
          'post_type' => 'news' //投稿タイプ名
          // 条件を追加する場合はここに追記
        );
        $customPosts = get_posts($args);
        if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post );
        ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><?php the_time("Y.m.d"); ?></li>
        <?php endforeach; ?>
        <?php else : //記事が無い場合 ?>
        <p>投稿はありません</p>
        <?php endif;
        wp_reset_postdata(); //クエリのリセット ?>
    </ul>
```


・WordPress私的マニュアル
https://elearn.jp/wpman/


理解度が深まり次第整理します。