【随時更新】WordPressって何？な人が書く色々なメモ

# [公式オンラインマニュアル](https://wpdocs.osdn.jp/Main_Page)

# WordPressの関数を外部phpファイルから実行したい
* ```wp-load.php```をrequireすればできる
* ググれば参考サイトは沢山出てくる
* 適当なphpファイルを作成して、下記をコピペして記事のタイトルが表示されればOK

```php
<!DOCTYPE html>
<html>
<head>
  <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
</head>

<body>
  <h>関数テスト</h>
  <br>
  <?php
  // ワードプレスインストールフォルダ直下のwp-load.phpまでの相対パスを指定
  require_once("./wp-load.php");

  query_posts('posts_per_page=5');
  if (have_posts()) :
    while (have_posts()) :

      the_post();
      echo "<br>";
      the_title();
      echo "<br>";

    endwhile;
  endif;
  wp_reset_query();
  ?>
</body>
</html>
```
# 色々参考サイト
## 記事は投稿してるのに、have_posts（）でtrueが返ってこない
* [公式サイトの関数リファレンス](http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/have_posts)を見ても、よく理解できなかった
* [この記事](https://qiita.com/mmusasabi/items/cc94af0c01262e9c0780)が参考になった

## Wordpress関数で画像取得について
* [画像の取得・表示まとめ](http://morilog.com/wordpress/template/post_thumbnail_and_image_functions/)

## ワードプレスのデータベースをバックアップ
* [参考サイト](https://begassist.com/mysql-export/)

# メールアドレスからユーザーIDを取得
* [公式サイト email_exists()](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/email_exists)
* email_exists（）は引数に指定したメールアドレスがユーザーに登録されている場合、  
そのユーザーのIDを返す。  
存在しなければfalseを返す。

```
$user_id = email_exists('xxx@xx.jp');
```

# カテゴリを必須選択化
* Adjust Admin Categories というプラグインを利用
* [参考サイト](http://higezine.com/blog/wordpress/2017/09/25/185/)

# タグをチェックボックスで選択
* [WordPress投稿画面のタグをカテゴリーのようにチェックボックスに変更する方法](https://techmemo.biz/wordpress/post-tag-checkbox/)

# １つのWordPressで複数テーマを使用したい
* 既存のサイトが既にあり、既存サイトではワードプレスを使用したくない
* 既存サイト内のBlog、Newsのみ、ワードプレスで運用したい
* Blog、Newsにそれぞれ別のテーマを適用したい。
* 上記な感じで運用したく、色々ググってみると、３つの方法があるっぽい。

## プラグイン"Multiple Themes"を使用する  
* [参考サイト](https://ownedmedianoie.com/how-to-use-multiple-themes-for-wordpress/)  

## WordPress マルチサイト
* [参考サイト](https://www.vektor-inc.co.jp/post/wordpress-multi/)  
* [参考サイト](https://www.templateking.jp/practical/build/sub_dir.html)
* 特殊な構造になるらしい。
* サーバーによってはマルチサイトに対応していないらしい。
* プラグインによっては対応していないものもあるらしい。

## テーマ毎にサブディレクトリを作成し、そこにそれぞれWordPressを新規インストール
* この方法がもっともシンプル、かつ、ポピュラーらしい。
* １テーマ毎に１WordPress、１データベースな感じの運用になる。  
それもなんか微妙だな。。。
* [参考サイト](https://connect-tree.com/homepage-4/)

# 見た目をカスタマイズしたい
## テーマ作成について
* このチュートリアル記事で勉強すればわかるかも  
[おそらく最もわかりやすいWordPressテーマ制作チュートリアル](https://stocker.jp/diary/wordpress-tutorial/)

# デバッグしたい（エラー内容を表示させたい）
* [WordPressのデバッグモード](https://gatespace.jp/2012/07/20/wordpress-debugging/)

# 自作テンプレートを作成した際の参考サイト
* [WordPressテーマの骨組みとなるテンプレートファイルを作成する](https://plusers.net/wordpress_theme_1)

# 既存サイトの一部をWordpress化
## 参考サイト
* [既存サイトの一部をwordpress(ワードプレス)に移行する方法は？](https://wp-doctor.jp/blog/2017/07/10/%E6%97%A2%E5%AD%98%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E4%B8%80%E9%83%A8%E3%82%92wordpress%E3%83%AF%E3%83%BC%E3%83%89%E3%83%97%E3%83%AC%E3%82%B9%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9/)
* [WordPress を専用ディレクトリに配置する](https://wpdocs.osdn.jp/WordPress_%E3%82%92%E5%B0%82%E7%94%A8%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B)

# お問い合わせフォームのプラグイン
* [【初心者】WordPressでお問い合わせフォームが作れるプラグイン「Contact Form 7」](https://ownedmedianoie.com/how-to-set-contact-form-on-wordpress/)
* smtpプラグイン 「WP Mail SMTP」  
https://design-plus1.com/tcd-w/2019/03/wp-mail-smtp.html

# エラー対応
## エラーになって公開できない、プレビューはだんまり
* ググってみると、同様の現象の方が結構いて、  
「クラシックエディタにすると公開できた」との投稿があった
* 新しいエディタ"Gutenberg"のバグ？？
* って事でプラグインでクラシックエディタをインストールし、有効化すると  
公開できるようになった

## テーマ編集でエラー
* このサイトの手順で対応した  
[WordPress テーマやプラグインが管理画面から更新できない場合の対処法](https://qiita.com/ayies128/items/3e3dbe3b51ba4dd8adf6)
* ローカルにWordpress環境を構築してるなら、  
直接ファイルを編集でも良いと思う