XREAで共有SSL設定

共有SSLの設定が大変だったので、簡単にまとめておきます。 サーバーはXREAを使っています。

結論としては、wp-config.phpに以下のように追記します。

define('WP_SITEURL','httpsの共有sslリンク');
define('WP_HOME','httpsの共有sslリンク');
$_SERVER['HTTPS'] = 'on';

$_SERVER['HTTPS'] = 'on'; を書いていないと、HTTPSにアクセスしても、画像やCSSが反映されませんでした。

すでに投稿等がある場合は、Better Search Replaceというプラグインを入れて、もともとのhttpのURLを新しい共通SSLに変換します。これですでに投稿しているもののリンクを正しくできます。

WP Rest APIでカスタムフィールドの値を取得・更新をしよう!

今回は、カスタムフィールドの値を取得します。

ACF to Rest APIのダウンロード

プラグインであるACF to Rest APIを使います。 まずは、プラグインから検索をして、ACF to Rest APIを導入してください。 f:id:success-seed:20201214155856p:plain

ACF to Rest APIの設定

wp_config.phpに以下を追加します。

define( 'ACF_TO_REST_API_REQUEST_VERSION', 3 );

次にテーマフォルダの中にあるfunction.phpに以下を追記します。

// Enable the option show in rest
add_filter( 'acf/rest_api/field_settings/show_in_rest', '__return_true' );

// Enable the option edit in rest
add_filter( 'acf/rest_api/field_settings/edit_in_rest', '__return_true' );

カスタムフィールドの作成

以下のようにカスタムフィールドを作成します。 f:id:success-seed:20201214160541p:plain この時、RESTAPIを使えるようにする必要があります。 f:id:success-seed:20201214160633p:plain

Pythonコード

値の取得

実際にPythonで投稿のカスタムフィールドの値を取得するには、

import requests
res = requests.get('http://localhost/wordpress/wp-json/wp/custom/posts_by_users')

のようにします。

値の更新

更新する場合は以下のようにします。 fields["text_item"]のようにしてフィールの値を更新できます。 更新に関しては、認証が必要になるので、認証のpasswordをheaderに持たせます。

auth_str = "ユーザー名:パスワード"
auth_base64_bytes = base64.b64encode(auth_str.encode(encoding='utf-8'))
auth = auth_base64_bytes.decode(encoding='utf-8')
headers = {
            'Authorization': 'Basic ' + auth 
}
data = {
    "fields[text_item]":["編集しました"],
    "fields[bool_item]":["true"],
}

res = requests.post('http://localhost/wordpress/wp-json/acf/v3/posts/93', headers=headers, data = data)

これを実行すると値の更新や読み取りが可能です。

最短でPythonをマスターしたい人へ

あー、あの時、

Python勉強しておけばよかった

 

と後悔しないために。

 

 

 

これからの社会で、

ITエンジニアとして活躍していくために、

 

PythonでAI開発(機械学習)を学んでみませんか?

 

 

こんにちは!

あゆです!

 

 

私は情報系の学部に通っている大学生です。

 

大学1年からプログラミングの勉強をはじめ、

2年の春にはAIの資格であるE資格を取得

インターンでの実務経験や

ハッカソンでの優勝経験もあります。

 

 

現在は

AIを使った投資アプリの開発

AI学習の教材をつくる

といった活動をしています。

コンピュータ, パソコン, ワークプ レース, ホーム オフィス, デスクトップ コンピューター

 

 

私がこれまでプログラミングを

勉強していく中で発見したのは、

 

プログラミングをマスターするために必要なのは、

たくさん記事を読んで勉強する

インプットではなく

いかに

実際に開発して

アウトプットしていくか

 

ということでした。

 

 

「AI興味あるけど、

ちょっと私には難しそう…」

 

Pythonの勉強はじめてみたけど、

どうやったらいいかあまりわからなくて、

具体的な見通しが立たない…」

 

と思っているあなたに、

 

Pythonマスター㊙攻略法」を

今だけ無料配布中です!

 

f:id:success-seed:20200505161633j:plain

  

 

 

今すぐ、

 

LINE@を登録して、

無料

受け取ってください!

 

 

 

「最近、Pythonとか、AI(機械学習)ってよく聞くけど、

プログラミングなんてやったことないから、

今から始めても遅いのでは?」

 

そんなことはありません。

 

今日、Pythonを爆速で身に着ける勉強法を

手に入れたら

たった3か月で、自分で開発できるくらいになります!

 

 

 

よく、ビッグデータの時代と言われるように

これからは、

世の中にあるデータを有効に活用していく力が

求められる時代です!

 

インターネット上の大量の情報や、

営業で得られたマーケティングのデータなど

今は非常に多くの情報が簡単に手に入る時代です。

 

そんな時代だからこそ、大量に存在する情報から

有益な情報を抽出するデータサイエンティスト

求められているのです。

 

 

GoogleAmazonMicrosoftといった大企業をはじめ

様々な企業が、Pythonを導入し、AI開発や、ビッグデータ解析

行っています。

 

オックスフォード大学が発表した論文

雇用の未来—コンピューター化によって仕事は失われるのか

では、コンピューターによる自動化が進むことで、

20年後の将来には47%の仕事がなくなるという

衝撃の結論が導き出されています。

 

これを裏付けるように、

近年、次々と様々なコンピューターが導入され

これまで、人が行っていた仕事を機械が

行うようになりました。

 

 

このような時代において、

ただ、今の仕事がコンピューターに奪われないか

心配しながら過ごし、

コンピューターに仕事を奪われる側

になるのではなく、

 

逆に、

コンピューターを使いこなし、

自由で生産性の高い仕事を確保したり、

新たなサービスや商品を開発したり

して

コンピューターを使う側

になるためには、

 

コンピューターを操るスキルを身に着ける

必要があります。

 

機械化の中でも、最近特に注目されている

AI(機械学習)のスキル

を身に着けることで

 

人間とAIの強みと弱みを理解して、

うまくAIを使いこなすことで、

これからの時代で活躍できる

エンジニアや経営者になれる

と考えています。

 

 

Python

興味はあるけど、

何から始めていいのかわからない…」

 

「AIとか文系には難しそう」

 

そんな状態でも

焦らなくて大丈夫です!

 

誰でもはじめはわからないのです

 

 

私も、大学に入学するまで、

プログラミングをほとんどやったことがありませんでした。

 

 

今後はプログラミングスキルがあると

就活にも有利そうだし、

授業でもプログラミングは必要だから、

とりあえず勉強してみたい

 

勉強するなら、今後伸びるAIでしょ!

AI勉強して何かサービスとか作れたらいいな

 

と思ってはいましたが、

 インターネット, 社会的なメディア, ネットワーク, ブログ, ページ, Seo, 最適化, 統計情報

 

どのように勉強すればいいのかわからず

ただ

データサイエンス入門の授業を受けているだけでした。

 

 

授業も初めのうちはついていけたものの、

回を重ねるごとに内容は複雑になり、

先生が書いているコードを

意味も分からず写すだけ

の状態になっていました。

 Youtuber, ブロガー, 脚本, 絶望的です, 退屈な, Uncreative, 作家のブロック

 

当然のごとく、授業の課題は

なかなか終わらず、

 

プログラミングまして、

AI開発なんて

私には向いてないのだろう

と思っていました。

 

 

一方で、周りにはプログラミングを

小学生の頃からやっていて、

授業は余裕という人も多かったです。

 

ある友達は、ベンチャー企業インターンをし、

また、別の友達は

AIを使ったアプリを開発して起業していました。

 

 

なんだか周りの友達はとてもきらきらして、

自分だけおいていかれている気がして

とても悔しかったです。

悔しい人のイラスト(女性)

 

私もこのままではいけないと思い、

自分でも勉強してみることにしました。

 

 

しかし、今までわからなかったことが

急にわかるようになるようなことは起きませんでした

 

まずは本屋に行き、入門書らしき本を買った後

読んでみたものの、

概論はわかっても、

結局、自分で開発できるようには

なりませんでした。

 

 開いた本, ライブラリ, 教育, 読み取り, 本, 学校, 文学, 研究, 知識, テキスト, 情報, 読書

その後もいくつか本を読んでみたものの、

なかなか身についている感じがしない…

勉強する内容もたくさん…

 

ネットで見つけた記事を

まねてみようとしても、

途中で記事には書かれていない

エラーが出てきて挫折…

 エラー, Www, インターネット, 電卓, サーバーの, クラッシュ, 問題, 障害, コンピューター

 

エラーの解決方法もわからないし、

相談できる人もいないから

ここから先に進めない…

 

 

やはり、

私にはプログラミングは向いていないのだ

とあきらめようと思っていました。

 

 

そんな時、サークルの先輩の紹介で

現役エンジニアの方にお話を聞くことができました。

 従業員, 会議, 仕事, ワーキング, アルゼンチン, マット, オフィス, スクラム, 方法論, アジャイル

 

そのエンジニアさんのプログラミングに対する考え方や、

勉強の仕方、取り組み方は私にとって目から鱗で、

 

「あー、私が気づけていなかったのは

このポイントだったのか!

 

と気づかされました。

 

 

教えていただいた方法は

シンプルでかつより実践的

効率の良い学習法でした。

 

自分のアイデアを形にして、

みんなのように成功したい

 

そう思い、エンジニアの方に教えてもらった方法を

自分なりに工夫し、

定期的に指導してもらいながら実践していきました。

 

すると、

1か月後には

自力でコンペに参加でき、

上位入賞とまではいかないものの

参加者の上位5%に入ることができました!

 

初めて自分で

0からデータを分析・予測することができて、

とてもうれしかったです。

 

成功までには、

エラーもたくさん出ましたが、

エラーが出てもある程度、

自力で解決できるようになっていました。

 

精度の高い結果が出た時には、思わず

「できたーーー!!!」

 

と叫んでしまうほど、

大きな達成感を得ることができました。

 

 

 

その後もこの方法で勉強し続けた結果、

だんだんと、

自分で何かを作ることが好きになり、

AI(機械学習)のエンジニア資格であるE資格を取得

Web系の開発も勉強し、

Twitterと連携したWebアプリを作成、

パナソニックが主催するコンペで優勝

など、さまざまなことができるようになりました。

 

 

さらに、現在では

AIを使った投資アプリの開発を行い、

AIの教材作成や友達へのプログラミング指導など

人に教えられるレベルにまでなりました。

 ソーシャルメディア, 社会, キーボード, アイコン, スマート フォン, メディア, インターネット, 通信

 

 

「AI勉強したいんだけど、

文系だからできるかな?」

と私に相談してくれた友達に

勉強法を教えたところ、

 

早速実践し、

データ分析のインターン

をするほどにまで成長しました。

 

また、AI開発ではなく、Webアプリ開発ですが、

 

プログラミングやりたいけど

まだ、全然できないという

学科同期約10人に

 

この私の方法を実践して、

試してもらいました。

 

すると、

約1か月後には

みんなWebアプリを開発できるレベルに

なりました。

 

現在はそのメンバーと一緒に

プロダクト開発をしています!

 

メンバーも

こんなに早くアプリがつくれるように

なるとは思わなかった。

とこの方法のすごさを

実感してくれているようでした。

 

 

 

今このページを見ているあなたは、

とてもラッキーです

 

このまま何も行動せず、

全然成長できてない…

となる未来がほしいですか?

 

 ディレクトリ, 道標, 希望, 絶望, うつ病, 心理学, 療法, 木, 穀物, ボード, シールド, 方向

 

今ここで、Pythonの勉強を始めて、

 

将来、

AIのスキルを使って、バリバリ活躍

したくないですか?

 

エンジニアとして活躍したい

 AI関連のサービスを作って起業したい

スキルを身に着けて転職したい

 

と思っている人に、

Pythonは非常におすすめです!

 

 

あなたにも

私や、私の友達と同じように

できたーーー!!!

と叫ぶほどの達成感と、

 

○○開発しました!

と胸を張って言える自信

 

手に入れてほしいです!

 

ワークプ レース, チーム, 営業会議, ビジネスマン, ビジネス, チームワーク, オフィス, 人, 会議

 

プログラミング、

特に情報がまだ少ない機械学習

正しい方法で勉強しなければ、

全然スキルが身につきません。

 

どのような方法で勉強するかによって

雲泥の差が出てしまうんです。

 

 

ここまで読んでくれたあなたには

間違った方法で勉強して

失敗してほしくないんです。

 

 

今このチャンスを逃さないでください!

 

下のボタンから友達登録をして

Pythonマスター㊙攻略法」を受け取ってください!

 

 

 

f:id:success-seed:20200505161633j:plain

 

 

 

受け取り方は簡単!

 

LINE@に登録

②送られてくるGoogleアンケートに回答

f:id:success-seed:20200505164107j:plain

③回答後、プレゼントのリンクが表示されます

 

 

そもそも、

「なんでを無料なの?」

 

と疑問を持たれる方もいると思います。

 

 

それは、

自分の中で構築された方法を

きちんとアウトプットすることで整理し、

自分の学びのサイクルを加速させたい!

 

せっかくなら、その方法を

いろいろな人に試してもらって

成長してもらいたい

と思っているからです。

 

 成功, 階段, 定量, キャリア, 野心, 上昇, 進行状況, カリキュラム, 教育, コンセプト, 学校

 

しかし、

学生として学ぶ身でもある私は

 

大変身勝手ではありますが、

この先、ずっと更新や質問、相談

を続けられる保証がありません。

 

この勉強法を受け取って

成長していただけるのは大変うれしく、

もっと伝えたい!活動したい!

と思って続けていますが、

 

無料配布を

本日終了させていただく場合があります。

 

今日でSNSでの情報発信や、

無料資料の配布をやめてしまう可能性があるので、

 

もし

「プログラミングスキルを身につけて活躍したい!」

 

と思っている人がいたら

今すぐに、受け取ることおすすめします

 

 

 

 

 

 

 


 

誰でも最初はどうしていいかわからないものです。

 

そんなときにどのような情報を得られるか

正しい勉強法を実践できるかどうかで

 

成功できるかどうかが決まります。

 

 

さあ次はあなたの番ですよ!

今すぐ決断して無料プレゼントを受け取ってください!

 

 

 

 

 

プログラミング独学は可能?独学のコツも【プログラミングスクールに通うか迷っている人へ】

プログラミング勉強したいけど、独学できるの?

それとも、プログラミングスクール通った方がいいの?

 

と悩みますよね?

 

独学か、プログラミングスクールかという選択は、

今後のプログラミング学習プランに非常に大きな影響を与えます。

 

ここで、正しい選択ができるかどうかで、

あなたのプログラミング学習が成功するかの半分が

決まる可能性があります!

 

プログラミングスクールに通うべきか迷っている人はぜひ読んでみてください。

さらに、独学するためのコツもお伝えしていきます。

 

【結論】プログラミングは独学できる!

Web, ウェブ開発者, フルスタックの開発者, Wwwの, Web 開発, コンピュータ, デザイン

結論を先に言ってしまうと、

プログラミングスキルを独学で身につけることは可能です。

実際私はプログラミングスクールに通わずに、大半のプログラミングスキルを独学で身につけてきました。

 

しかし、 プログラミングスクールに通ったほうがいい人もいます。

プログラミングの独学に向いている人

一覧, アイコンを, シンボル, 紙, 記号, フラット, メモ, フォーム, マーク, ビジネス

まずはどのような人がプログラミングの独学に向いているのか見ていきたいと思います。

またはプログラミングスクールに通うべきなのかそれとも独学で身につけられるのか,

見てみてください.

 

時間よりお金を重視する人

プログラミングスクールは基本的に高額であるため、

学生のようになかなかお金が使えない人や、

ある程度時間を確保できる人は、

プログラミングスクールに通うよりも独学した方がいいでしょう。

 

一方で、転職を目指している場合など、すぐにプログラミングスキルを身につけたい場合には、プログラミングスクールに通ったほうがいいです。

特に転職の場合、プログラミングスクールによっては、転職の支援までしてくれるところもあるので、プログラミングスクールに通うとより早く希望の職につくことができるでしょう。

 

コツコツ頑張れる人

プログラミングの独学においては、 やめてしまいたくなるような時がたくさんあります。そのような時でも、我慢して何とか乗り越えられるというメンタルを持っている人じゃないとなかなか厳しいかもしれません。

特にエラーが出るときなどは初めのうちはどのようにして行けばいいかわからないため、初心者が挫折挫折してしまう最大のポイントになります。 しかし、 工夫すれば、このような問題を解決できるため、自分で解決していくことが好きな人や、継続的にコツコツ頑張れるという人は、ぜひ独学をしてみることをおすすめします。

 

なぜプログラミングの独学は難しいのか?

プログラマ, プログラミング, コード, 仕事, コンピュータ, インターネット, 技術, コーディング

ここではなぜプログラミングの独学が難しいと言われているのか解説していきます。 さらにその解決策も、お伝えします。

エラーが出た時に相談する人がいない

プログラミングで最も初心者が後雪しやすいポイントはエラーが発生した時です。 エラーの解決はプログラミング上級者やプロのエンジニアでさえ、苦しめられるポイントであり、当然プログラミング初心者にとっては大きな壁になります。

プログラミングスクールに通っていれば、エラーが出た時にすぐに相談することができますが、独学の場合、なかなかそのような人がいないため、挫折してしまいがちです。

 

しかし、このような問題を解決してくれるのが、プログラミング特化型の質問サイトです。 エラーが出た時に、質問することで、エンジニアの方々に答えてもらうことができます。まずは Google で検索してみることが大切ですがそれでもどうしても解決策が分からないような場合に、質問サイトを利用することで解決することができます。

 

モチベーションが続かない

続いて第二の関門はモチベーションが続かないということです。どうしても一人で勉強していると甘えてしまいたくなりますよね。 プログラミングの独学ば基本的に一人ですることになってしまうので、どうしても自分のメンタルに左右されやすくなってしまいます。

 

そこでオススメの方法は、 Twitter を活用することです。 Twitter にはプログラミングを頑張りたいという人がたくさんいます。ツイッターで日々勉強したことをつぶやいていくことで、周りの人と交流しモチベーションを高めたり、自分の進捗をきちんと把握して管理することができます。

成長を実感できない

プログラミングを独学する最後の問題は、 なかなか成長実感できないということです。プログラミングスクールに通っている場合は、 カリキュラムなどを進めていくためその進捗が目に見えやすいです。一方で、 独学の場合は、これで本当にいいのかな私は上達してるのかなと不安になってしまいます。



このような問題を解決するためには、「アウトプット」をしていくというものです。独学の場合、本を読んだり、ネットの記事を見たりと、インプットが中心の勉強になってしまいがちですが、インプットだけでは実戦で使える力も身につきにくくまた成長も実感しにくいです。簡単な内容でも、実際に勉強したことを、コードとして書いてみて、実行してみることで、成長を実感でき、達成感は得られます。 

 

プログラミング独学するためのコツ

インターフェイス, インターネット, プログラム, ブラウザー, Wwwの, グラフィック, フラットな設計

最後にプログラミングを独学するためのコツを紹介します。プログラミングスクールやっぱ高いから始めは脱落してみたいという人は、 ぜひ以下の内容を実践してみてください

まずは3か月頑張ってみる

まずは3ヶ月間頑張ってみるというのは非常に重要です。 プログラミングは積み重ねが重要であるため、短期間ではなかなか成果が出にくいです。2ヶ月から3ヶ月くらいしっかりと頑張ってみることで、かなり力をつけることができます。このくらいになるとプログラミングをすることが非常に楽しくなってくる段階になります。まずはこの3ヶ月の壁を乗り越えられるように1日1時間プログラミングの勉強をしてみることをお勧めします。

ネット上のサービスを利用する

二つ目のポイントは、ネット上にあるサービスを利用してみるということです。最近はプログラミングを勉強するためのサービスがたくさん存在しています。そのようなサービスはうまく活用することで効率よく独学でも勉強できるような環境が整ってきています。

 

特に初心者の場合は、インプットもアウトプットも簡単にできるProgateまずやってみることをお勧めします。

 

それができたら次は、Qiitaやnoteの記事を見て、何かサンプルアプリを作ってみると良いでしょう。 





WordPressのデータベースをカスタマイズしよう!

今回は、データベースをいじってみたいと思います。

 

 

自作データベースを利用するための大まかな手順は

  1. テーブルを作成する
  2. wp-db.phpを編集する
  3. テーブルのデータを取得する

 

になります。

目標

今回は 自作のテーブルを作成し、データを取得していきます。 データの中身は何でもいいですが、今回はプログラミングに関する参考書を登録して、 書籍名をもとに様々な情報を取得できるようになることを目標にします。

 

テーブルを作成する( DB への追加)

管理画面にアクセスしよう

ここでは新しく追加するテーブルを作成します。

データベースはphpMyAdminから作成します。

 

MySQLのAdiminをクリックして phpmyadminを開きます。

 

f:id:success-seed:20200417131232p:plain

 

データベースを選択して開いてみると、いくつかデータベースが登録されていると思います。wp-01nように はじめに登録したデータベースが WordPress 用のデータベースになっているのでそれを選択します。

 

f:id:success-seed:20200417131504p:plain

 

これらはWorPress自体にもともと設定されているデータベースです。メインのものは、

 

<接頭辞> + postmeta

投稿に関連する情報

<接頭辞> + commentmeta

コメントに関連する情報

<接頭辞> + usermeta

ユーザーに関連する情報

<接頭辞> + options

プラグインの設定に関する情報

 

です。

もし既存のテーブルにつけたせそうであれば、それを拡張する方がいいでしょう。

 

 

 

テーブルを追加しよう

それでは新しくテーブルを追加していきます。 今回はwp_booksというテーブルを作成したいと思います。

テーブル作成の部分に、 以下のように入力します。

f:id:success-seed:20200417132005p:plain

実行すると詳細を入力する画面になるので、

下の画像のように入力していきます。

今回は ID として化学参考書を識別するためのプライマリーキーとするカラムと、

nameとして参考書の名前を登録するカラム、

descriptionとして参考書の説明文を記入するカラム、

priceとして価格を入力するカラムを作りました。

f:id:success-seed:20200417133800p:plain

成功するとこのようになります。

f:id:success-seed:20200417133852p:plain

 

作成したテーブルにデータを入力しよう

今回はテストデータを入力するので、「挿入」タブを開いて、手入力していきます。

f:id:success-seed:20200417134032p:plain

 

例えばこんな感じで入力します。

 

f:id:success-seed:20200417135855p:plain

 

実行すると SQL が実行されて、データが登録されると思います。

今回は、

name

プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業

description

「プログラミングとはそもそもどういったものか」「プログラミングスキルがなぜ重要なのか」などについてわかりやすく解説されている初心者におすすめの1冊

price

1738

 

としました。「実行」した後、「表示」

「表示」を選択すると実際に登録されているかどうか確認することができます。

3冊ぐらい登録しておきましょう。

 

f:id:success-seed:20200417141916p:plain

 

wp-db.phpを編集

ここまでで新しいテーブルを作ることはできましたが、まだそのテーブルを WordPress 側から操作することはできません。 そこでここでは、 WordPress に テーブルを認識させるための設定を行っていきます。

 WordPress ではwpdbというクラスを使ってデータベースを掃除することができます。 

テーブル名をwp-db.phpに追加しよう

wp-includesディレクトリにあるwp-db.phpを探して、tables=となっている部分を探します。ここが、テーブルを設定している部分なので、 ここに自分で作ったテーブルを付け足します。

 

var $tables = array(  

      'posts',  

      'comments',  

      'links', 

       'options',  

      'postmeta', 

       'terms', 

       'term_taxonomy',  

      'term_relationships', 

       'termmeta', 

       'commentmeta', 

   );

 

 

    

ちなみに「wp_」の部分は付け足す必要はありません。

 

var $tables = array(  

      'posts',  

      'comments',  

      'links', 

       'options',  

      'postmeta', 

       'terms', 

       'term_taxonomy',  

      'term_relationships', 

       'termmeta', 

       'commentmeta', 

'books'    );  

 

 

これでwpdbを使って追加テーブルにアクセスできるようになります。

 

追加したテーブルにアクセスしてみよう

それでは実際にwpdbが使えるかどうか見てみましょう。

 

どこで実行しても良いのですが、例えば、デフォルトのテーマであるtwentytwentyを実行しているなら、singular.php の

 

<main id="site-content" role="main"> 

の下に以下を追加して、新しく記事を作成すると、booksが追加されているのを確認できます。

 

<?php 
   global $wpdb;foreach ($wpdb- >tables as $key => $value) {
  echo '<p>[' . $key . ']' . $value . '</p>';} 
?>

 

 

出力結果

[0]posts

[1]comments

[2]links

[3]options

[4]postmeta

[5]terms

[6]term_taxonomy

[7]term_relationships

[8]termmeta

[9]commentmeta

[10]books

 

テーブルからデータを取得しよう

最後に登録したデータを WordPress から取得してみたいと思います。

先ほどsingular.phpに追加したコードの下に、さらに以下を追加しましょう。

 

<?php

   // 検索キーワード 書籍名
  $book_title = isset($_GET['keyword']) ? $_GET['keyword'] : "";


  // 検索結果メッセージ
  $message = ( isset($_GET['keyword']) && (!$book_title) ) ? "検索する書籍名を入力!" : "";

  global $wpdb;

  $wpdb->show_errors();

  // キーワードが設定されているときの処理内容
  if ($book_title) {

    //書籍名、説明、価格を取得するためのSQL
    $sql = $wpdb->prepare("SELECT p.name, p.description, p.price FROM $wpdb->books p WHERE p.name LIKE %s", '%'.$book_title.'%' );

 
    // クエリ実行
    $rows = $wpdb->get_results($sql);

    // 検索結果表示するときのメッセージ
    $message = (!$rows) ? "該当する本は見つかりませんでした。" : count($rows)."件の本が見つかりました。";
  }

  // 本の説明と価格を表示
  if($rows){

    foreach ($rows as $row) {

      echo "<p>【".$row->name."】価格:".$row->price."円<br>概要:".$row->description."</p>";
    }
  }
  ?>

 <!-- 検索フォーム -->
<form class="" id="" role="search" action="./" method="get">
  <div>
    <label for="search_box">書籍名検索</label>
    <input class="" type="text" name="keyword" placeholder="" value="<?php echo $book_title; ?>" />
    <input type="submit" value="検索する" />
   </div>
</form>

<!-- 検索結果 -->
<p>
<?php echo $message; ?>
</p>

 

 

これによって書籍情報を検索して表示することが出来るようになります。

実際にこれを保存した後に、新しく新規投稿をしてみましょう。

するとタイトルの上に検索フォームが出現すると思います。

f:id:success-seed:20200417152839p:plain

例えば フォームにプログラミングと入力して検索してみると、

このように2冊の検索結果が表示され、 書籍や価格、説明が記載されます。

f:id:success-seed:20200417153257p:plain

以上で今回の目標達成です!

 

WordPressでフィルターフックを使ってみよう!

前回はアクションフックを使って、投稿保存時に特定の操作をする方法などについて紹介しました。今回はもう一つのフックであるフィルターフックについて見ていきます。

 

アクションフックは、投稿時や管理画面生成時などのアクションに対して、実行されますが、フィルターフックはデータに対して何か操作をします。

 

フィルターフックの場合はadd_filter()を使います。書き方はアクションフックと同じで第1引数にフック名、第2引数に関数、第3引数に実行順序、第4引数に関数に渡す引数の数を指定します。

まずは、編集画面で表示する内容を変更してみましょう。

the_title()を使います。

 

いつも通り、my-plugin.phpにつけたします。

function add_id_title($title, $id) {     return 'ID='.$id.$title; }add_filter('the_title', 'add_id_title', 10, 2);


実行して、投稿一覧を確認してみましょう。

こんな感じで ID がタイトルの前に付け加えられているのがわかります。

f:id:success-seed:20200417114228p:plain

このように、表示する前にデータを取得して、表示内容を変更できます。

XAMPPでMySQL起動できないときの対処法(MySQL shutdown unexpectedly)

XAMPPでローカルでWordPress使ってるとき、MySQL起動できなかったので、その対処法をメモしておきます。

 

エラーは以下のような内容です

 

f:id:success-seed:20200417102858p:plain

Error: MySQL shutdown unexpectedly.This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method.Press the Logs button to view error logs and checkthe Windows Event Viewer for more clues if you need more help, copy and post this entire log window on the forums

 

ログ見るように言われたので、見てみたけど、よくわからない

と思って、もう少し前の出力内容見てみたら、ポートが使用中でうまくいってないみたい。

f:id:success-seed:20200417104342p:plain

Port 3306 in use by "Unable to open process"!MySQL WILL NOT start without the configured ports free! You need to uninstall/disable/reconfigure the blocking application or reconfigure MySQL and the Control Panel to listen on a different port

 

ということなので、使用中の3306ポートを強制的に終了して、もう一回スタートさせます。

 

ちなみにWindowsでのやり方です。

まずは、コマンドプロンプト開くときに右クリックで管理者権限で実行します

f:id:success-seed:20200417105526p:plain

すると、コマンドプロンプト開くので、

 

netstat -aon | find "[探したいポート番号]"
taskkill /f /pid [終了させたいPID]

 

を実行します。

まずは、

netstat -aon | find "[探したいポート番号]"

ですが、

[探したいポート番号]は、私の場合3306です

すると

 

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5700

 

みたいに表示されます

5700がPIDにあたるので、

taskkill /f /pid 5700

で終了させます。

 

以上の操作をした後、もう一度XAMPPのMySQLのStart押すと、

無事立ち上がるはずです。

 

これで、ようやく、開発のスタート地点に立てたー