プログラミングに関する個人的メモです。プログラミング値を表示する関数と戻り値を返す関数wordpressの関数には2種類ある。値を表示する関数と戻り値を返す関数。the_title関数は値を表示するので以下のように使う。echoする必要はない。?>1echoする必要がないのは、the_title関数の定義のなかでechoしているから。$title;という箇所を確認できる。get_the_title関数は戻り値を返す関数。関数の定義をみるとechoしていない。表示するには戻り値をechoする必要がある。?>1また、the_title関数はデフォルトでは値を表示するが、オプションを指定($echo=TRUE)して戻り値として受け取ることもできる。原因不明のデータベース接続確立エラーに悩まされていた。true);すると以下のようなメッセージが現れた。clientググってこのページにたどり着いた。mysqlの現行バージョンではデフォルトの認証方式が新しくなり、PHP側がそれに対応していないのが問題らしい。対策としてはmysqlの認証方式を古いものに変更する。'password';こんなことが原因だったとは!安定してエラーが出ることはなくなった。解せないのは、いちどコマンドプロンプトから入るとエラーにならなかった点なんだよな。認証方式が違うのに接続に成功していた。最初からデータベースが怪しいという方針なら、わりとすぐに問題解決できたはず。Webサーバーも怪しいと思ってしまったことで解決が遅れてしまった。PHPのビルトインサーバーだと、記事を新規投稿するとサーバーが落ちてしまうのだ。これは面倒だということで、apacheを使うことにした。するとapacheでPHPを動かすにはモジュール(php7apache2_4.dll)が必要だったんだが、これが見当たらない。safeにしか入っていない。いうことでPHPを入れなおしてPATHも書き換えてと。あとapacheのドキュメントルートを変更したり、ポート番号も変更したり。「PHPのビルトインサーバーだと、記事を新規投稿するとサーバーが落ちてしまうのだ」と書いたが、現象を再現しようとapache→ビルトインサーバーに変えて新規投稿しても落ちない。原因はビルトインサーバーではなく認証方式が違ったからみたいだ。解せないのは認証方式が違うのに投稿できて、そのあとビルトインサーバーが落ちていたことだ。「投稿できて、そのあとビルトインサーバーが落ちる」を再現しようと認証方式を新しいものに戻して投稿してみた。投稿できて(データベースにインサートできて)、しかしこんどはビルトインサーバーは落ちず、データベース接続確立エラーになった。わからんが、たしかなことは認証方式が違っていても投稿できてしまうということ。認証方式自体をお勉強すればこの現象を理解できそうだが、今回はこれ以上深追いしないことにする。&nbsp;」でググって見つけたこちらのページによると、2連スペースが&nbsp;に変換されてしまうらしい。たしかに該当箇所にはスペースの連続があった。&nbsp;が現れないほかの場所にもいたるところにスペースの連続がある。これが原因じゃないよなぁ、と思いつつ&nbsp;の連続が出現する箇所のスペースをTABに置き換えてみた。