福井県のweb制作は有限会社ハートブレーン

wordpressのこと

情報収集力のないコーダーが気まぐれにGutenbergを試してみた

以前どこかで「wordpressは今後jimdoとかwixみたいに直感で操作できるエディタにするよ」というお知らせを見たような気はするのですが。
とうとう実現したようなので、今更試してみました。

どこかに「ベータ版なので公開中のサイトでは使用しないでください」って書いてあったらしいですが、記憶にないのでスキップします。

ダッシュボードのGutenberg案内

こちらがメイン画面です。

Gutenbergメイン画面

テキストも直接入力と編集ができます。
この辺は以前のビジュアルエディタと一緒です。

テキスト編集

個人的に、画像挿入は以前より楽になった気がします。
動作が遅めのメディア画面をいちいち起動させなくてよくなった点は大きいです。

画像挿入

右サイドバーで画像サイズや代替テキストなどの設定もできます。

画像の説明文が
「百聞は一見に如かず。画像を挿入しましょう」とやたらと強気なのが面白いやらツッコミ入れたくなるやら。
とりあえずなんか諺使ってるけど、wordpressって欧米のソフトじゃなかったっけ?

ただ、AddQuicktagで設定したタグが消えてしまって使えないこと。
パーマリンクのスラッグ変更ができないこと。
この2点が気になります。
それと、恐らくどうでもいいことなのだとは思いますが、Gutenbergを無効化した後、テキストエディタで編集しようとすると、変なタグが挿入されていたり、設定したはずのカテゴリーが「未分類」になっているのは仕様なのでしょうか。

改善されたら、もちろん使いたいです。

【ハートブレーン】http://heartbrain.net

wordpressのカスタマイザーでエラーが出た

WordPressを更新する時に、主にアクセスするのが「投稿」や「固定ページ」で、その次くらいにプラグインなどの更新かな、と思います。
使い方は人それぞれなので、カスタムフィールドをお使いの場合や、ギャラリーに利用している場合は別ですが。
私はwordpressのphpデータの全てを知り尽くして管理画面から何から全部好きなようにカスタマイズできるだけの知識が欲しいです。

wordpress

そんな適当な仕事しかしない能登なので、今回久しぶりにアクセスしたカスタマイザーで、呆然とさせられました。

管理画面の外観→カスタマイズ及びウィジェットメニューが、何と真っ白になっていたのです。

他のメニューは問題なく稼働しているので、気づくのが遅れました。
真っ青になりながらデバッグモードにすると、大量のエラーログが。
「load_plugin_textdomain was called with an argument that is deprecated since version 2.7.0 with no alternative available……」と、ちょっとよく分からないことを言われました。
とりあえず、エラーの根源として名前を挙げられていた「Advanced Category Excluder」と「WP-DB-Backup」プラグインを、涙を飲んで削除。

それでもエラーのままでしたが、行数はかなり減り

エラー

「has_cap がバージョン 2.0.0 から非推奨になった引数付きで呼び出されました。ユーザーレベルの使用は推奨されていません。代わりに権限を使ってください」と仰せです。
例の如くGoogle先生のお力をお借りしたところ、プラグインの問題だという答えが出ました。
しかしエラーメッセージの中にプラグインらしき名前はありません。

仕方ないので、一旦全てのプラグインを無効にしてみると、カスタマイザーは正常に作動しました。
いよいよ犯人はプラグインか、と1つずつちまちまと無効化にして、犯人発見。
今回の場合は「CKEditor」でした。

昔から重宝していたプラグインだったので寂しさはあるものの、Wordpressの最近のバージョンでは、ビジュアルエディタのメニューも豊富なので、いっそ切ってしまっていいかな、と判断しました。

出来ることなら、次回はどのプラグインのどの部分にエラーが出て、どう修正すれば正常に作動するようになるのか、全部自力で紐解けるようになりたいものです。
講習やパソコンスクールに○十万円は注ぎ込むことになりそうですが。

とりあえず「phpとjsは使いこなせます」と胸を張って言ってみたいです。

【ハートブレーン】http://heartbrain.net

wordpress4.8がリリースされたらしい

今度は何かな?と思いながらフタを開けてみたら、ほとんどがウィジェット関係でした。
しかもウィジェットの配置はともかく、内容の編集は、カスタマイズでしかできなくなったようです。
カスタマイズ推しのwordpressと、1度覚えた操作を脳みその中で訂正するという処理が難しいおばさんは、これからも平行線を辿るらしいのですが、もし能登の勘違いだったらご一報ください。
少し切実かもしれません。
カスタマイズの画面を出すのが少し面倒なので。

ウィジェット管理画面

外観→ウィジェットの「利用できるウィジェット」に、ひっそりと増えていた

動画・画像・音声

これ。

画像や動画・音声の入力が、今までよりかなり楽になったようです。
動画はyoutube以外を入れるのは少し難しい印象があったりしたので、うれしいお知らせです。

カスタマイズで画像編集

画像の部分をアップすると

画像を追加

この「画像を追加」ボタンを押すとメディアが表示され、ドラッグ&ドロップで画像をアップロードできるようになりました。
これまでは、バナーの入れ替えをするのにも、コードが分かる人でないとできませんでした。
なので、ウィジェット機能をお客様にはなかなかお勧めできなかったのですが、これで楽になりました。

それ以前に、管理画面で迷子になりそうな気もしますが……。
私もなります。

それと、これまでのウィジェットにも大きな変化がありました。

テキスト

毎度おなじみの、コード必須のウィジェットですが

カスタマイズでテキスト編集

なんと、テキストウィジェットにビジュアルモード登場。
こちらの更新も、お客様にしていただけるようになりました。

やはりカスタマイズにはまだ慣れないのですが、今回はうれしい更新内容ばかりでした。
これでwordpressと私の距離も、少し縮まった気がします。

イベント・セミナー情報

近隣の WordPress のイベント
WordPress には、世界400以上の都市で定期的にイベントを行っている活発なオフラインコミュニティがあるのをご存知でしたか ? WordPress スキルを向上し、知り合いを増やし、そしてもちろんコンテンツの作成をし続けるのを助けるイベントに対して、皆さんに関心を持ってもらえるようにしました。
この機能はすでに私たちのお気に入りになりつつあります。更新を行ったり投稿を書いたりする時にダッシュボードにいる間、今後近くで開催予定の WordCamp や勉強会が表示されます。
コミュニティに参加することで、WordPress スキルを高めたり、普段は出会わない人たちとのネットワークを広めたりできます。これからはダッシュボードにログインして新しい「イベントとニュース」ウィジェットを見るだけで地域のイベントを見つけられるようになりました。

イベントとニュース

距離、割と遠かったです。
物理的にも。

【ハートブレーン】https://heartbrain.net

ある日突然wordpressで固定ページのほとんどが真っ白になった

wordpressを使用したとあるサイトなのですが、これまでは正常に表示されていたのに、ある日突然固定ページのほとんどが真っ白になっていました。
普通に考えるとPHPエラーを疑うところですが、「ほとんど」というのが問題で、「全部」ではないのです。
一部のページは無事に表示されるのですが、テンプレートは同じ。
さては何か変なプログラムでも仕込まれたか?(過去に実際にありました)と疑ったものの、プラグインにもテーマフォルダにもそんな気配はありません。

訳が分からないよ!と思いながらとりあえず真っ白になったページのテキストエディタに入力してあるタグを削っては表示して……とテストを繰り返すと、とある法則がありました。
テキストエディタ内でdivタグを使う もしくは javascriptで何かを読み込まなければ、正常に表示されたのです。
これは、結構話が簡単…………………………………………

なはずもなく、cssを利用しまくっているので、divタグは必須です。
divをpに差し替える、という単純な解決法を試みもしたのですが、途中でタグに矛盾が出てくるようになり、敢えなく断念。
そもそもdivタグが駄目なんて、これ、エラーだよね?と原因究明するため、今度は表示されているページとのソースを比較しました。

その結果、真っ白のページのソースは、head部分の
謎のコード
ここより先がありませんでした。

しかし、この謎のjsファイルは?
まさか、本当に改ざん?

アラフォーおばさんの肉にまみれた巨体に戦慄が走ったのですが、stats.me=jetpackらしいですね。
身に覚えはたっぷりあります。
どうでもいいですが、1度でいいから「瑞々しさの中に色香が漂う熟れた肢体」と表現されてみたいです。痩せろ、って話ですね。

ダイエット

あくまでもイメージです。
でも「ダイエット」というキーワードで検索して出てきた画像がパスタにカップルって何なの絶対に許さない。

かなり本題から逸れましたが、表示されているページでは、コードの下にjetpackのOGPタグがありました。
原因こそ分かりませんが、とりあえずjetpackに何らかの異常があるのは間違いないです。

なので、いっそ消します。邪魔ですし。

add_filter( 'jetpack_enable_open_graph', '__return_false' );

これで無事解決しました。

しかしやはり原因は分からず、少し気持ち悪いです。
4.7.2にアップデートした影響か、もしくは「SiteGuard WP Plugin」というプラグインを入れたからなのか。
今のところプラグインが怪しいのですが、それにしても不思議なエラーです。

Buddypressのユーザーやグループなどの個別ページのテンプレート

「BuddyPress」という、wordpressでSNSが作れちゃうプラグインを使用する機会がありました。
しかし、これ、難しいですね。
タイムライン(アクティビティ)みたいな機能もあって便利な分、カスタマイズに苦労します。
しかもGoogle先生にお伺いを立てても情報は少なく、フォーラムは全て英語、という難解さ。

他力本願が心情の私も、やはりつまずきました。
あちこちでつまずいてばかりだったのですが、やはり最大は「プロフィールなどのメニューから各ユーザーの個別ページに飛ぶと、せっかくSNS用に作ったテンプレートが無効になってしまう」という点でした。

最初はプラグインの中のphpファイルに従ってindex.phpのデフォルトテンプレートを使うようになっていうのかな、と思ってたんです。
しかし、どのページはどのテンプレートで作られているかというのが一目で分かるプラグイン「Show Current Template」で見てみたら、どうやら使用されているのは、固定ページ用のpage.phpのようでした。

そこから、functions.phpでスラッグでテンプレートを分けるように指定しても駄目、bp-custom.phpのフィルターフックで何とかならないか試してみても駄目。
頭を抱えて2日経過した頃

BuddyPressのフォーラムの記事

フォーラムの日本語訳

SNS用のテンプレートファイル名をbuddypress.phpにしたら、無事解決しました。

私の2日間は何だったんだろう。

そもそも「英語だから」とフォーラムを真剣に探さなかった私の自業自得ではあるのですが。
やはり定期的に英語に触れる機会は必要ですね。
あと、苦手だけど必要なものを苦手だからと何も考えずに避け続けると、とんでもない回り道をすることになる、と悟りました。

Time is money.(この程度なら理解可能)

【ハートブレーン】https://heartbrain.net

時計

wordpressのエディタのボタンが反応しない時

最近またしてもアップデートしたwordpressですが、4.5.2にした途端、エディタの動作がおかしくなりました。
ビジュアルエディタから、テキストエディタタブを押しても移動できません。
その上「メディアを追加」ボタンを押しても無反応です。

こういう時に真っ先に疑うべきは、プラグインです。
今や世界的なCMSとなったwordpressのプラグインは多数ありますが、全てがwordpressのアップデートに対応している訳ではありません。
バグが見つかったら速やかに修正してくれるプラグインがほとんどなのですが。

しかし、今回、原因となったプラグインは、Headspace2でした。

結構重宝してた

「All in one SEO Pack」の機能は全て網羅し、ソースコードも綺麗だからと人気のプラグインだったのですが……

最終更新日には要注意

必須:wordpress 3.0 以上
互換:wordpress 3.4.2 まで
最終更新日:3年前

繰り返し申し上げますが、現在のwordpressの最新バージョンは4.5.2です。

いくら優れたプラグインとはいえ、wordpressに対応できなければ使えません。
今後プラグインを導入する時はもちろん、定期的にメンテナンスする際にも、プラグインの対応バージョンと最終更新日には気をつけたいものです。

いくら最新情報でも

この情報はいらない

こんな情報はいらないのですが。

敢えて年齢を表示しないとか、気を利かせて10くらい若返らせるとかいう機能はないのか、Appleは!
そう思ってSiriに「今日私誕生日なんだけど、私何歳だと思う?」と聞いてみたら
「『私何歳だと思う?』をwebで検索してみました」と検索結果を提示されました。

塩対応にも程がある……と、誰もいない事務所で1人肩を落とすことしかできませんでした。
確かに今日は、私の誕生日なのですが。

【ハートブレーン】https://heartbrain.net

自社サイトのHTMLに軽くメスを入れてみた結果

ネタを探して「教えてGoo」を彷徨っていたのですが、意外に恐ろしい発見をしました。

Another HTML-lint5

web業者を判断する時、ここでテストする人って、結構多いんですね……!
知りませんでした。
かなり前に自社サイトをテストした時は、そこそこ良い点数だった記憶があるので、確認の意味で再テストをしてみました。

結果

がんばりましょう

点数の数字の前に、なんか1本線があるんですけど。
これ、ハイフンじゃないよね。
多分マイナスってことだよね。

以前はまだHTML4.01の時にテストしたのですが、HTML5に変わってからは、色々と違う点もあるようです。
既に使われていない属性とか。
しかし一番の原因は、それ以前の問題でした。

なんで気づかなかったんだろう

wordpressだけでなくjimdoなども、最近のシステムは優秀且つ初心者にも優しい設計で、ファイル名が半角英数でなくても受け入れてもらえます。
しかしHTMLとは言語なのです。
基本的に半角英数の世界に、突然日本語が割り込んでこられても、エラーが出るのが普通です。

今後は、特にSEOなどを真剣に考える場合は、システムに甘えず半角英数のファイル名を貫きます。

他にも色々とテコ入れをして、何とかこぎつけた結果は

ふつうです

結構がんばったんだけどな……。

しかしCMSなどはプラグインや独自のコードなどが入ってくるため、高度な仕掛けなどをしないと100点満点は難しい気がします。
今回の場合、他にも改善点はありますので、そこも今度修正します。

【ハートブレーン】https://heartbrain.net

謎のリダイレクトでwordpressにログインできなくなった時の対処法

ある日突然、wordpressにログインできなくなりました。

wordpressログイン前

こちらがログイン前で

wordpressログイン後

こちらが「ログイン」ボタンを押した後です。
いや、同じ画像でしょう?そうおっしゃるのも分かります。
しかしよく見ていただくと、明らかに違う点があります。
アドレスバーに。

http://ドメイン/wp-login.php?redirect_to=http%3A%2F%2Fドメイン%2Fwp-admin%2F&reauth=1

何故かログイン画面が延々とリダイレクトされる、という現象です。
疑問に思い、この症状をGoogle先生にお尋ねしたところ、真っ先に出てきたのは

「?以下を全て削除して、http://ドメイン/wp-login.phpにすれば解決する。
http://ドメイン/wp-adminでログインしている場合は、http://ドメイン/wp-login.phpにすること」

当然ながら、該当しません。

ちなみにユーザー名もパスワードも合ってます。
違う場合は
ログインエラー
こういう画面になります。

他にも調べてみたのですが

phpMyAdminでwordpressサイトのURL更新
「wp_options」→siteurlを編集
URLをwordpressを設置してある場所に書き換えます。
「wp」というフォルダの中にあるなら、「http://ドメイン/wp」
末尾に「/」は付けないでください。

wp-config.phpを編集
FTPソフトでwp-config.phpを探し出し、ダウンロードしてください。
そして一番下に

define( 'WP_SITEURL', 'http://ドメイン/wp' );
define( 'WP_HOME', 'http://ドメイン/wp' );

と書き加えます。
URL部分は書き換えてください。

プラグインの削除
何かのプラグインが悪さをしている場合もあります。
キャッシュ系プラグインの可能性が高いそうです。
キャッシュ系プラグインをインストールしている場合はそれを削除してください。
もし原因が分からなければ、FTPソフトで「plugins」フォルダを別の名前に書き換え
同じ場所に空の「plugins」フォルダを作ると手っ取り早いです。

cookieの削除
該当するサイトのcookieを削除
もしくはcookieを全削除してください。
削除方法はお使いのブラウザによって違います。

何故ここにこれだけ長々と挙げたかというと、結果が

MySQL ×
wp-config.php ×
プラグイン ×
cookie ×

全滅だったからです。

さすがにギブアップして、サーバーに問合せたところ、こんな回答をいただきました。

「お使いのwordpressのデータベースが、容量を超過している状態でした。そのため、wordpressの動作に支障が出ているようです」

phpMyAdminで対応してねー、とハシゴを外されてしまい
永遠の初心者コーダーは涙目になったのですが
それでも何とかphpMyAdminにログインして確認してみると

wp_redirection_logs
wp_redirection_404

この2つのレコード数が、それぞれ6ケタずつあり
合計で30万超。
レコード数は20万を超えると表示が遅くなり始めるそうなので、とんでもない数字だということになります。

この原因は「Redirection」というプラグインだそうです。
301リダイレクトを管理し、404エラーの記録を取るためのプラグインで、本来大変便利なものなのですが
プラグインの更新を怠ると、動作に矛盾が出てくるようです。
とりあえず一旦削除することにしました。

プラグインをFTPソフトで削除しても、phpMyAdminにレコードは残ったままです。
なので手動で消すしかありません。

redirection_items
redirection_groups
redirection_logs
redirection_modules
redirection_404

以上を削除したら、一気に容量が減り、問題なくログインできるようになりました。

ついでに、同じく容量を消費する原因となるらしいリビジョンも削除しました。
phpMyAdminでの削除方法は、SQLタブをクリックし、「クエリを実行する」という所で

DELETE FROM wp_posts WHERE post_type = 'revision';

と入力すればOKです。

後々またこういうことが発生するかもしれないので、今後はプラグインに頼ることにしました。

WordPressのデータベース管理に役立つプラグイン14選(NETAONE様 より)

こうして楽を覚えて、今日もまた永遠の初心者としての地位を確率するのでした。

【ハートブレーン】https://heartbrain.net

WordPress4.4でURLを埋め込めるようになった

wordpress4.4のアップデートで、URLを入力するだけで、記事が記事として埋め込めるようになったようです。

これ、ずっと欲しかった…!

と思っていたのですが、Facebookではできないらしいですね。

この上にURLを貼り付けてみたのですが、表示は真っ白…… と、思っていたら、旧エディタでやってみたら、できました!やった! 社長の自爆ネタは主にFacebookから拾ってくるので、絶対欲しかったのですよ。

クリぼっちの皆様、クリスマスじゃなくてもぼっちの人を見て、勇気をもらってください。 メリークルシミマスだった私も、元気をもらいました。少しは。

実はこの記事

スクリーンショット 2015-12-25 16.32.31.png

管理画面上部に出てきたこんなメッセージにそそのかされ、新しいエディタを使用しています。

このエディタ、画像をドラッグするだけで自動的に取り込んでくれて便利です。 これは旧エディタでもそうだったかも。 普段はHTMLエディタを好んで使っているので、なかなか恩恵に預かれないのですが。

欲を言えば、AddQuickTagの設定も引き継いでくれるとうれしいです。

【ハートブレーン】https://heartbrain.net

wordpress4.3でビジュアルエディタが選択できなくなった

wordpress4.3にアップグレードして以来、特に困った部分はありませんでした。
ファビコン設定がかなり楽になったのはありがたいし、頑なに使わなかったカスタマイザーも慣れると便利だし。

しかし、小さな不具合はあったようです。

エディタですが、ビジュアルモードに切り替えできなくなりました。

ビジュアルエディタは編集しづらい

Google先生に教えを乞うてみたところ、ほとんどの場合、プラグインが原因なのだそうです。
4.2→4.3といえば、細かい修正ではない大きなアップデートなので、未対応のプラグインも多いとのこと。

私の場合、かなり重宝してきた「PS Disable Auto Formatting」でした。
勝手に挿入される p タグや br タグを調整してくれる、ありがたいプラグインだったのですが……。
泣く泣く停止したら、無事ビジュアルエディタが選択できるようになりました。

他にも
・WP Character Count
・WP Multibyte Patch
・SyntaxHighlighter Evolved
など、エディタと直接関わりのあるプラグインが、危険度が高いようです。

wordpressが先か、プラグインが先かは不明ですが、早めの対応を祈ります。

【ハートブレーン】https://heartbrain.net

wordpressで構築したサイトのhead部分が長すぎる

HTMLファイルにおいて、head要素は簡潔であると良い、という話があります。
jQueryなどを多用すると重くなるので推奨されないかもしれない、という理由が1つ目。
あとは、あまりにも長い記述だと、巡回ロボット様のお手間を取らせてしまうため、サイトの評価が低くなる、という事情もあります。

何かの作業中に、たまたまwordpressで構築したサイトのhead部分を、ブラウザの「ソースを見る」で表示させたのですが

109行

いやいや、なさすぎるだろう、この数字。

という訳で、あちこちからかき集めた他力本願の知識で、function.phpに色々入力してみました。

まずは、wordpressに標準で付いてくるらしい、こちらを削除。
「このサイトはwordpressで作られました」という宣言とか、確かに不必要です。
head内に出力される要素を整理(Think deeply, Do less, More effective様 より)

// generator
remove_action( 'wp_head',             'wp_generator');
// rel="shortlink"
remove_action( 'wp_head',             'wp_shortlink_wp_head',           10, 0 );
// WLW(Windows Live Writer) wlwmanifest.xml
remove_action( 'wp_head',             'wlwmanifest_link');
// RSD xmlrpc.php?rsd
remove_action( 'wp_head',             'rsd_link');
// オリジナル:adjacent_posts_rel_link_wp_head() in wp-includes/link-template.php
// rel="next"、rel="prev"
remove_action( 'wp_head',             'adjacent_posts_rel_link_wp_head', 10);

そしてwordpress4.2から追加された絵文字入力機能。
使わない、という人だけ削除しましょう。
WordPress 4.2 で追加された絵文字対応のスクリプトを無効化する方法(零弐壱蜂様 より)

function disable_emoji() {
     remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
     remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
     remove_action( 'wp_print_styles', 'print_emoji_styles' );
     remove_action( 'admin_print_styles', 'print_emoji_styles' );    
     remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
     remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );    
     remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
}
add_action( 'init', 'disable_emoji' );

あとは、プラグイン「jetpack」をインストールしている人で、OGPタグを特に必要としない人は、こちらも削除します。
決定版!JetpackプラグインのOGPタグを削除する方法いろいろ(おち研様 より)

add_filter( 'jetpack_enable_open_graph', '__return_false' );

これでもまだ88行もあります。
プラグイン専用cssが当たり前に存在したりするので、いくら便利とはいっても、プラグインの多用は少し考えた方が良いかもしれません。

【ハートブレーン】https://heartbrain.net

WordPress4.3がリリースされたらしい

大型アップデートなので、自動更新はされないそうです。 プラグインとの互換性を確認しながら、慎重に作業を行いましょう。

まずは、大まかに変更点をおさらいしてみます。 個人的にありがたいと思った順から。

・管理画面が全てのデバイスに対応

スマートフォンからも編集できます。

・ログイン時にヘッダーに表示されるツールバーにカスタマイザー追加

ログイン時にサイトのどこにいても、簡単にカスタマイザーに飛べます。 ただし、管理画面内では表示されません。

・サイトアイコン

カスタマイザーから簡単にfaviconを設定できます。 推奨画像サイズは 512px × 512px です。

・カスタマイザーでメニュー編集

カスタマイザーでウィジェットやメニューの内容を編集できるようになりました。 益々機能がカスタマイザー1つに集約されることになります。 以前からですが、wordpressはカスタマイザーでの設定を推奨しているようですね。

・パスワードのセキュリティ機能向上

これまで疑問を持たれていた、パスワード紛失時の「メールでパスワードが届く」形ですが、4.3からは「メールでパスワードのリセットURLが届く」形に変更されました。 新しくユーザーを追加した場合は、自動的に強力なパスワードが生成されるようです。

・固定ページでのコメント無効

コメント機能が付かなくなるそうです。 そもそも付けたことが全くないので、ほとんどの人が不必要なのではないでしょうか。

書式ショートカット

アスタリスクキーを押せばリスト、シャープキーを押せば見出しのショートカットになるそうです。 しかしテキストエディタ派なので、ピンときません。

だから試してみました。

  • アスタリスク1
  • アスタリスク2

シャープ

どうやら、ただキーを押すだけでは駄目で、アスタリスクの場合は後ろに1つ半角スペースを、シャープの場合は文字まで入力した後にEnterキーを押すと、初めて変換されるようです。
詳しい一覧は

ショートカットキー一覧

引用のショートカットは本当にありがたいです。

しかしやはりテキストエディタ派なので、ここは自分で更に使いやすいように、AddQuicktagで増やしすぎたタグを整理しようと思います。

【ハートブレーン】https://heartbrain.net

wordpress4.2にアップグレードしてみた

wordpress4.2がとうとうリリースされたということで、アップグレードしてみました。

説明に困りそうなほど大きな変化はなかったようですが、随所で利便性が上がっています。
例えば、いつも何かと悩まされていた言語。
日本語・中国語・韓国語での執筆にも対応できるようになったらしいです。

そして、プラグインの更新。
いつもは結構時間がかかり、その隙にちょこちょこサボっていたのですが、更新速度が大幅に速まったようです。

あとは、TumblrやKickstarterをYoutubeと同じように楽に貼り付けることができるようになったらしいです。
片方は登録したまま放置状態、片方は存在さえ知らなかった有様ですが、これを機会にまた勉強してみます。

記事の共有もより便利になったようです。

使う機会があったらいいなぁ

このボタンをブックマークバーに追加しておくと、クリックするだけでコンテンツを共有できるのだそうです。

なかなか使う機会がないけれど便利そうな機能、カスタマイザーで、テーマの切り替えまでできるようになったようです。

楽そうな機能だけど使ったことない

テーマのプレビュー画面も出るので、どのようなレイアウトになるか確認もできます。

ちょっとかっこいい

テーマ選択画面に戻るには「変更」、管理画面に戻るには×ボタン、テーマを変更するには「保存して公開」をクリックします。

更に、携帯電話のような絵文字も追加できる、とあったのですが、パソコンで試してみても、一向に表示されません。
条件は満たしているのですが……何が違うのでしょうか。

ちなみに、プラグイン「Easing Slider」を最新版に更新すると、こちらで日本語化していた管理画面が英語に戻っていました。
簡単な英語なので、恐らく問題なく使えるとは思いますが、翻訳が面倒な人はお気をつけください。

【ハートブレーン】https://heartbrain.net

wordpressの定期アップデートはやはり必要

正直、イタチごっこになっていると思わざるを得ないのですが……

WordPress用プラグイン「All in One SEO Pack」に情報管理不備の脆弱性(Yahooニュース より)

wordpressのプラグインの脆弱性に関するニュースが増えていっている気がします。
それだけユーザーが増えた、ということなのですが。
人が多ければトラブルも多発する(だから福井の犯罪件数の少なさは全国一)ので、やはりそういう脆弱性を突きたがる困ったちゃんも存在するのでしょう。

内容は、パスワード制限付きページがある場合、自動的に追加されたMETAタグからパスワードを読み取れてしまう可能性がある、というものらしいです。
酷すぎるネタバレですね。

今回は、実は私も愛用している「All in One SEO Pack」ですが、他のSEO対策プラグインにも脆弱性は発見されています。
そして例によって、脆弱性が発見されると、その点を修正したバージョンも登場します。

wordpressは、プラグインを追加したり機能を増やそうとしたりしなければ、昔のバージョンでも動きはします。
私が確認した限り、2.9.2でもまだ動きます。
しかし、このような脆弱性などはwordpress本体にも多々発見されるので、やはり定期的なアップデート作業は必要ですね。

【ハートブレーン】https://heartbrain.net

更新が多いプラグインを選ぶべきかも

Jetpackの複数サイト一元管理機能を使ってみた

wordpressの管理画面にログインしたら、いきなり

地雷を踏む覚悟だった

またいつもの意味不明な更新……
ではなさそうです。
これ、できるんだとしたらすごく便利そうです。

とりあえず、多少の地雷を覚悟して、クリックしました。

分かりにくいけど増えてた

なんか増えていたので、指定のURLをアドレスバーに入力します。

追加も簡単そう

分かりやすい画面が出てきたので、とりあえず選んでみます。

和訳求む

一番上の「SWITCH SITE」で管理しているサイトを切り替えられます。
しかもアクセス解析やプラグインでは、全てのサイトが一緒になったデータも見れます。

更にブログや固定ページの更新もできます。
今日の記事は、この機能を使って書いています。

感想は……

imgタグにいらないものが入らない点はうれしいです。毎回消すのが面倒でしたから。
ビジュアルエディタに欲しい、ワードのような基本的な機能(テキスト色やフォントなど)が揃っているものうれしいです。
欲を言えば、AddQuicktagで登録したタグも追加してほしいです。
毎回HTMLエディタを使っているので。

これでwordpressのアップデートも一括でできたら言うことないです。
あと、やはり管理画面の多言語化をお願いしたいです。
Google Chromeの翻訳機能である程度は何とかなるのですが、やはり自然な日本語の方が使いやすいのです。

この2点がクリアできたら、こちらを主に利用していきたいです。

と思いながら、「Publish」ボタンを押したら

何をしたと言うんだ

Oops! An error occurred while saving the post.
The Jetpack site is inaccessible or returned an error: transport error – HTTP status code was not 200 (404) [-32300]

プラグインの競合の問題、というのが現時点で一番可能性が高いです。

【ハートブレーン】https://heartbrain.net

ここ数日間で私がやったwordpress関係の失敗2選

生涯学習、って素敵な言葉ですよね。

何歳になってもその言葉を念頭に置いて過ごしていきたいものです。

PHPに全く精通していないエセコーダーにとって、生涯というか毎日勉強なのですが。
勉強中には、必ず失敗は付き物です。

という言い訳を掲げ、自分が数日の間に失敗した事柄を記録しておきます。

・wordpressでカテゴリーを自動的に増やし、且つ新着記事のあるカテゴリーに自動的にNEWマークが付く魔法は存在しない

私の知識不足で、完成しなかっただけなのかもしれません。
しかし、見て回る限り、同時並行で可能なコードは見つかりませんでした。
ちなみに私が実際にやった失敗。

<?php
	$args = array(
	'orderby' => 'name',
	'parent' => 0,
	'exclude' => '11,12,13'
	);
	$categories=get_categories($args);
	foreach($categories as $category) { 
	echo '<li class="cat-'. $category-> slug .'">';
	echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
	$days=7; 
	$today=date('U');
	$entry=get_the_time('U');
	$diff1=date('U',($today - $entry))/86400;
	if ($days > $diff1) { echo '<span style="color:#ff0000;font-size:12px;font-weight:bold;">NEW</span>';}
	echo '</li>';
	} 
?>

指定した子カテゴリーのみを表示させたくて、カスタムメニューを使わずにこうしてみたのですが。
この方法、1つのカテゴリーの記事が更新されたら、全てのカテゴリーにNEWマークが付きます。
解決方法は、こちらにありました。

Newマークの表示(WordPressフォーラムより)

ちなみに潔くカスタムメニューを使用しました。

・welcartで配送先住所の位置を動かしてはいけない

たとえば贈答用で利用する場合、注文者情報と配送先が異なる時があります。
カート機能により、配送先住所を入力するタイミングは違います。
注文者情報の下に入力する場合と、配送設定と一緒に入力する場合。welcartでは後者です。
しかし、そこで wc_templates/wc_derivery.php 内の

<table class="customer_form" id="delivery_table">
	<?php echo uesces_addressform( 'delivery', $usces_entries ); ?>
</table>

この記述を、無闇やたらに wc_templates/wc_customer.php に移動するのは危険です。
配送してほしい住所(注文者の場合も、異なる住所を指定した場合も)自体を読み取ってもらえなくなり、送料が加算されなくなります。 恐らくもう少し探っていけば、解決方法も見つかりそうなのですが、エセコーダーには至難の業です。

感動的に低いレベルで申し訳ないのですが、こんな事もあるよ、ということで笑って放置してください。

【ハートブレーン】https://heartbrain.net

welcartでの送料設定で条件が複数ある場合

通販サイトで「5,000円以上のお買い上げ送料無料」や「地域によって送料は異なります」という表記はよく見かけます。
しかしサイトによっては、これらが重なることもあり得ます。
全ての地域で送料を無料にしていては、商品単価によっては肝心の利益がなくなってしまいますからね。

そのような複数条件の場合、下記の方法でうまくいくようです。
参考にさせていただいたのは

一定金額以上の買物で送料無料ではなく値引き

特定の都道府県で送料を加算する方法

どちらの記事も Welcart カスタマイズ ブログ様 です。いつもお世話になっております。
相変わらずの他力本願、しかも少し危ない橋を渡っているかもしれないので、「私はこうしました」という参考程度の認識でお願いします。

functions.php に以下のコードを入力します。

//福井県からの注文で5,000円以上購入の場合のみ送料を100円にする
add_filter('usces_filter_set_cart_fees_shipping_charge', 'my1_filter_set_cart_fees_shipping_charge', 10, 3);
function my1_filter_set_cart_fees_shipping_charge($shipping_charge, $cart, $entry){
    $myprefs = array('福井県'); //都道府県を指定
    if(in_array($entry['delivery']['pref'], $myprefs) and ($entry['order']['total_items_price'] >= 5000) ){
        $shipping_charge = 100; //金額を指定
    }
    return $shipping_charge;
}

andで繋げただけじゃないのか!?
そうツッコミを入れた方は正しいです。
しかしPHP(永遠の)初心者としては、誤作動などしないか、かなり不安だったのですよ。

運送料も上がったことですし、今後こういった設定は増えてくるかもしれません。
しかし、運送料の値上げの理由として、人件費と燃料高が挙げられていましたが、最近その燃料が安くなっていっています。
これが一時の現象なら仕方ないですが、もしガソリン代が下降していくなら、運送料もまた変化していくことを期待したいです。

【ハートブレーン】https://heartbrain.net

丸大根を見たことがありません

welcartについて訂正とブログとの共存方法

以前、当ブログでこのような記事を掲載しました。

welcartを既存サイトの既存テーマで動かすためにやったこと

この中で、私は以下の事を得意げに語っていたことと思います。

動かぬ証拠

訂正し、お詫び申し上げます。
この方法だと、welcartのアップデート時に消滅します。
この記事、ほんのわずかにリツイートとかされた気配があったのですが、どなたからもツッコミが入らなかったところを見ると、恐らくあまりのレベルの低さに捨て置かれたのでしょう。

正しい方法は
既存テーマ内に「wc_templates」フォルダを全部コピーし、その中のsingle_item.phpを上書きする、でした。

なんかどんどん恥の上塗りをしていっている気がする、当ブログです。

恥かきついでに、同じテーマ内でブログとwelcartを共存させるために私がやったこともお伝えします。
またしても不備や勘違いが多発するかとは思いますが、あくまでもこんな事やった人がいるよ、ということで。

共存させる上で困るのが、恐らくサイドバーに載せるカテゴリーやアーカイブなどのウィジェット、そして全ての投稿が出てくるブログTOPとアーカイブページだと思われます。
カテゴリーウィジェットを設置して、出てくる一覧に「日常」「イベント」「お知らせ」「お勧め商品」「売れ筋商品」だったりすると、ユーザーに与えるブログの印象が迷子になってしまいかねません。

私が採用した方法は、welcartにアップした商品には全て、デフォルトでくっついてくる「商品」カテゴリーを付けることでした。(商品カテゴリーのIDを10だとします)

サイドバー

・カテゴリー
welcartの公式フォーラムで紹介されていました。
functions.phpに以下のコードを入力します。

add_filter('widget_categories_dropdown_args', 'welcart_categories_dropdown_args');
function welcart_categories_dropdown_args( $args ){
	global $usces;
	$ids = $usces->get_item_cat_ids();
	$ids[] = USCES_ITEM_CAT_PARENT_ID;
	$args['exclude'] = $ids;
	return $args;
}

私は前回のブログの通り、function.phpを全部コピーしたのですが、そこにも同じコードがあったのでそれでOKでした。

・最近の投稿&カレンダー
2014年12月12日現在、welcartの最新バージョンは1.4.12ですが、最近は元々ウィジェットが設定されているようです。

いつの間にか増えていたウィジェット

通常の「最近の投稿」「カレンダー」ウィジェットと入れ替えれば良いです。

各ページ

・ブログTOPページ
index.php(またはブログ用に設定したphpファイル)に以下のコードを挿入します。
記事のループタグ直前に挿入しました。

<?php query_posts('cat=-10'); ?>

・アーカイブページ
プラグイン「Advanced Category Excluder」をインストールして有効化し、設定画面でwelcartのカテゴリー全部にチェックしました。
詳細はこちらで紹介されています。→ 特定のカテゴリ・ページを非表示にするプラグイン「Advanced Category Excluder」(ワードプレステーマTCD様より)

以上の作業でとりあえずは成功し、ささやかな達成感があったのですが

Welcartショップとブログを同じドメイン内で共存させる方法(Welcart カスタマイズ ブログ様より)

商品には「商品(スラッグ:item)」を利用して、ブログ用には「ブログ(スラッグ:blog)」というカテゴリーを作って適用させる方法です。単純な普通のカテゴリー分けです。

そうすれば……話、早かった……ね。

やはりプロには勝てない、ということで。(問:このブログを書いている企業の業種を答えよ)

welcartという素晴らしいプラグインを効率的に使いこなすためには、更に勉強が必要だ、ということですね。

【ハートブレーン】https://heartbrain.net

プラグインを使わずに投稿・固定ページ・カスタム投稿の更新履歴をまとめて載せる

またしても恐らくものすごく初歩的なことかとは思われますが。
面倒だとプラグインに頼ってばかりだった私には、勉強になったのです。

とは言っても、相変わらず他力本願ではあるのですが

<?php
$newslist = get_posts( array(
'posts_per_page' => 5, //取得記事件数
'orderby' => 'modified', //表示順
'post_type' => 'any' //表示するポストタイプ
));
if ($newslist) {
echo '<ul>';
foreach( $newslist as $post ): setup_postdata( $post ); ?>
<li>
<?php the_modified_date('Y年n月j日'); ?>
<strong><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></strong>
</li>
<?php endforeach;
echo '</ul>';
}
?>

新しく更新した順番で5件、投稿記事・固定ページ・カスタム投稿全ての更新履歴を掲載する場合です。
更新履歴をulとliタグで囲むようにしてあります。

この post_type というところが重要で、カスタム投稿の中でも表示する投稿タイプを選ぶこともできます。

更新履歴に、投稿記事と固定ページとカスタム投稿タイプの「guitar」と「photo」と「date」のみを載せたい時は

'post_type' => array('post','page','guitar','photo','date')

これで表示されます。

ちなみに例として挙げたカスタム投稿タイプ名に他意はありませんよ、社長。

【ハートブレーン】https://heartbrain.net

監視してみたいかもしれない気がする

wordpress4.0.1がリリースされたらしい

お久しぶりです。

まさか私も、このブログの更新を 1週間も空けることになるとは思っていませんでした。

前回のブログ記事が知的すぎて、疲れが出たのでしょうか……。

画像のぶれは演出ではありません

そういえば、どうでした?前回の記事。
なかなか専門的な知識でしょう。
これぞ企業ブログにふさわしい内容だとは思いませんか?業務内容とは全然違いますが。

お察しの通り、私が書いた記事ではありません。
鉄道好きな新人くんに 書かせた 執筆していただいた記事なのです。
最大の目的は自分が楽しいからという最悪の理由です。

私「踏切が近い公園に行ってきたよ。サンダーバードが3台連続で通った」
新人くん「それ、しらさぎじゃないですか?」

などという最悪な会話を交わしたことも申し添えておきます。

ところで、wordpress4.0.1がリリースされたというから、アップデートしてみました。
内容的には、セキュリティ関係が主なようですね。

WordPress 4.0.1 セキュリティリリース

毎度お馴染みの画面

クロスサイトスクリプティングって何?
と思ったので調べてみたところ

ネットワークを通じた攻撃手法の一つで、保安上の弱点(脆弱性)のあるWebサイトを踏み台に、悪意のあるプログラムをそのサイトの訪問者に送り込む手法。また、そのような攻撃に利用される脆弱性のこと(XSS脆弱性)。(IT用語辞典 e-Words より)

要するに
特定のサイトに来た訪問者に片っ端から悪質なプログラムを送る
という解釈でOKでしょうか?
なんか不正に入手した卒業アルバムを見ながら片っ端から勧誘電話をかける悪徳業者みたいです。

こんなものの餌食にされると、評判は落ちるわ、Googleからspamサイト認定されるわ、それこそ最悪です。
早めのアップデートをお勧めします。

【ハートブレーン】https://heartbrain.net

wordpress4.0にアップグレードしてみた

以前、軽い気持ちでアップデートしたら、プラグインが使えなくなったりバグが出てきたりして大変なことになったのですが、今回はなんかムシャクシャしたので何も考えずにアップグレードしてみました。
検索してみたら、現在確認した限りでは、特に不具合はなさそうです。ホッ。

しかし、アップデート作業で真っ先にビックリしたのは、更新中でした。

US 版しかない?と思ったら
しまった!日本語版リリース前じゃないか!と思ったその時

なんか見慣れない言葉が
「翻訳を更新しています」とか気になる言葉が。

自動的に翻訳されるらしいので、今後は日本語版がリリースされるのを待つ必要も、自動アップグレードが日本語版には対応されてなかったせいで泣く泣く手動で更新する作業も、一切なくなる模様です。
ということでいいですよね?ね?

エディタがテキストなどの量に応じて自動的に拡大・縮小されます。
テキストエディタ対応なのに二度ビックリ
どうせビジュアルエディタのみだろ、と思っていたら、テキストエディタにもしっかり対応されていました。

YoutubeやTwitterなどのソーシャルメディアを貼り付けたい場合、URLをコピー&ペーストすればOKです。
Youtube貼り付け機能は最強に便利かもしれない
こちらはさすがにビジュアルエディタのみですが、テキストエディタを見てみても、URLしか表示されていませんでした。ソースがすっきりするのでありがたいです。

プラグインを新規追加する際の一覧表示が、アイコン付のグリッド表示になりました。
プラグイン説明も自動翻訳よろしく

クリックすると、こうなります。
プラグイン公式サイトと変わり映えしない
プラグインの公式サイトのようなビジュアルです。

メディアライブラリでの一覧表示が、画像が見えるグリッド表示になりました。
画像一覧が見やすくなったのが一番うれしいかも

wordpress3.9の時と見栄えも更新方法も大して変わらず、マイナーチェンジとか言われていましたが、なるほど。
しかしビジュアル面ではかなり改善されています。
エディタの拡大・縮小や自動翻訳機能で、より初心者との距離も近付いたのではないでしょうか。
少なくとも、私が以前に耳にした質問事項のいくつかは、今回のアップグレードで改善されています。

あとはプラグイン関係で、バグがないことを祈ります。

【ハートブレーン】https://heartbrain.net

カスタム投稿タイプで特定のスラッグの更新履歴ウィジェットを表示させたい時

色々な方法が出回っていて、今更としか言いようのない話ではありますが。
書き留めておかないと確実に忘れるのですよ。

しかし、wordpressのカスタム投稿タイプは大変便利な機能ではありますが、まだちょっと敷居が高い気がします。
それをウィジェットで表示させる、となると、敷居が格段に上がります。
どちらにしろ、プラグインで解決できる問題ではあるんですけどね。

まず、ウィジェットで表示させるのに必須のプラグインがあります。

PHP Code Widget

プラグインを有効化した後、ウィジェットの管理画面に行くと「PHP Code」なるウィジェットが追加されています。
ウィジェットに直接PHPコードを書き込める、ありがたい機能です。

カスタム投稿タイプの表示方法ですが

<?php query_posts( array(
'post_type' => array('カスタム投稿名'),
'カスタムタクソノミー名' => 'スラッグ名'));
 ?>

例えば

カスタム投稿名=president
カスタムタクソノミー=collection
スラッグ名=facebook・blog・line
表示させたい種類のスラッグ=facebook

ついでに一覧に表示させる記事数は3つ、7日以内に更新された記事には赤字でNEWを付けるようにします。

<ul>
<?php query_posts( array(
'post_type' => array('president'),
'collection' => 'facebook',
'posts_per_page' => 3 ));
 ?>
<?php if (have_posts()) : while(have_posts()) : the_post(); ?>
<li>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php
$days=7; 
$today=date('U');
$entry=get_the_time('U');
$diff1=date('U',($today - $entry))/86400;
if ($days > $diff1) { echo '<span style="color:#ff0000;font-size:12px;font-weight:bold;">NEW</span>'; }
?>
</li>
<?php endwhile; endif; wp_reset_query(); ?>
</ul>

この結果

from社長のFacebook投稿

あくまでイメージ画像です。

ちなみに出所は社長のFacebook、新着投稿記事です。
生き様が如実に現れていますね。昨日もですが。

wordpress4になったら、カスタム投稿とかマルチサイト機能がワンタッチで設定できたり……したらいいなぁ。

【ハートブレーン】https://heartbrain.net

wordpressのアップデート中に止まった時の対処法

wordpressのアップデートラッシュからようやく解放されたと思ったら
現在、wordpress4.0のベータ版テスト中らしいですね。
一体どんな変わり方をするのかと思うと、恐怖を通り越して最早快感を覚えるようになってきました。

アップデートが怖いのは、wordpress本体だけではありません。
プラグインの更新も、一歩間違えれば大惨事になりかねません。
いや、普通バックアップしてから更新するよな?と言われてしまえば耳が痛いのですが
アップデートが頻発するプラグインもあったりして All in One SEOとか その度にバックアップを取るのが面倒になってしまったりする時もあります。

ですが、サーバーの調子が悪かったり、プラグインが重かったりした場合、メンテナンスモードを告げる円形のアイコンが回転したまま身動きが取れなくなってしまうことも……。
とりあえず管理画面に戻ろう!と逃げた日には、こんな宣告が下されます。

恐怖の宣告

取り返し付かない……!

そんな時の解決策ですが、驚くほど簡単でした。

FTP接続して、wordpressがインストールしてあるディレクトリの直下に、.maintenanceという謎のファイルが自動で作成されているので、それを削除します。
すると、メンテナンスモードが解除され、管理画面は元通りです。

アップデート中に止まってしまったプラグインなどは、更新前に戻るのか、更新扱いになるのか、確認する必要はあります。
私の場合、更新されていました。
ちなみに、そんな紛らわしいプラグインは

アップデートが毎回ギャンブル

毎度お騒がせなこのプラグインです。

様々な不具合で、2.0以降にアップデートするのをためらっていたのですが
その点は既に解消されたようです。
日本語化も問題なくできるようです。

次の恐怖は wordpress4.0 かもしれません。

【ハートブレーン】https://heartbrain.net

「最近の投稿」ウィジェットで表示するカテゴリーを選びたい

実は今日、ちょっとテストをしていたのですが
そのテストページが「最新の投稿」ウィジェットに普通に掲載されていました。

私、ちゃんと設定しなかったっけ……?
と思って調べてみたら、そもそもウィジェットにそんな機能はないらしく
確認した限りではありますが、対処法はプラグインとのこと。

Google先生にお尋ねしたら、かなり有名らしいプラグインを教えてくれました。
Category Posts Widget
これはいい!と思って、早速インストールしたのですが……

【求めていたもの】
思ってたのと違う!

【実装されたもの】
至ってシンプル

実はこの2つ、すっごくよく似た別のプラグインなのですね。
Category Posts Widget
Category Post Widget
Posts か Post かの微妙な違いです。

ちなみに Category Posts Widget の方は、もう2年以上更新されていないようです。

更に調べて次に見つけた Arcaives for a category も同じく更新ストップ。
もう打つ手はないのか……?と思っていたところ、救世主が現れました。

WordPress のウイジェットで特定のカテゴリーの記事のみ表示させてみる(web trace様)

まずは Exec-PHP というプラグインをインストールした後、有効化して
管理画面からでもphpコードを使える状態にします。

次にウィジェットで「テキスト」を選択し
以下のコードを貼り付ければOKです。

<ul>
<?php
$posts = get_posts('numberposts=7&category=61');
global $post;
?>
<?php
if($posts): foreach($posts as $post): setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br /><?php the_date('n月d日'); ?></li>
<?php endforeach; endif;
?>
</ul>

しかし、先に行っておくべき設定を怠ると、管理画面のヘッダーに

こんな長文がいきなりヘッダーに現れたら怖いです

このような長文の警告が表示されます。
これを見たら、ユーザー → あなたのプロフィール で
以下のチェックボックスにチェックを入れてください。

こんなに身近に答えがありました

Category Post Widget の今後の発展を、割と本気でお祈りしております。

【ハートブレーン】https://heartbrain.net

カスタム投稿ターム別ページ記事一覧の表示件数を設定したい

考えてみれば、カスタム投稿タイプの記事一覧での表示件数って
管理画面の「設定」に準ずるんですよね。
そして、それだと都合の悪い時って、どうしても出てくるのですよ。
普通のブログページではブログを、カスタム投稿でメニューを出す時とか。
メニューで「>>次のページへ」とか、なかなか見ませんから。
しかもターム別ページなんかあったりすると、更にややこしいことに。

和風パスタのおいしい店に行きたい
捏造バレバレの画像で表現してみました。

こういう時に使えるのが、query_posts です。
ここの posts_per_page の数値を-1にすることで、全ての記事が表示されます。
999なんて姑息なことをしなくてもいいんです。

<参考サイト様>
wordpress カスタム投稿のタームの出力いろいろpage、archive、single.php(Web Designerのしおり)

上記の記事を参考に、何とか設定しました。
場所は様々あるかとは思いますが、今回の場合、各ターム別ページを表示させたかったので
taxonomy-○○○(タクソノミー名).php です。(例題だとtaxonomy-pasta.php)

カスタム投稿タイプ:italian
タクソノミー名:pasta
ターム名:oil,tomato

<?php if(is_tax('pasta', 'oil')): ?>//タームごとに対応させるためにターム名を指定
<?php
    $args=array(
        'tax_query' => array(
            array(
                'taxonomy' => 'pasta', //タクソノミーを指定
                'field' => 'slug', //ターム名をスラッグで指定する
                'terms' => array( 'oil' ) //表示したいタームをスラッグで指定
            ),
        ),
        'post_type' => 'italian', //カスタム投稿名
        'posts_per_page'=> -1 //表示件数(-1で全ての記事を表示)
    );
 ?>
<?php query_posts( $args ); ?>

<?php elseif(is_tax('pasta', 'tomato')): ?>//タームごとに対応させるためにターム名を指定
<?php
    $args=array(
        'tax_query' => array(
            array(
                'taxonomy' => 'pasta', //タクソノミーを指定
                'field' => 'slug', //ターム名をスラッグで指定する
                'terms' => array( 'tomato' ) //表示したいタームをスラッグで指定
            ),
        ),
        'post_type' => 'italian', //カスタム投稿名
        'posts_per_page'=> -1 //表示件数(-1で全ての記事を表示)
    );
 ?>
<?php query_posts( $args ); ?>
<?php else: ?>
<?php endif; ?>

例題が明らかにおかしいですが、これは私がA市の某所にある生パスタの店に行きたいからです。
屋台村から独立して数年、私はまだ一度も足を運んでいません。
……GWも終わり、そろそろ夏に向けて親睦会などを行う季節ですね。

【ハートブレーン】https://heartbrain.net

wordpressの管理画面でオリジナルサイズを選択したい

Simple image sizes にカスタムサイズを登録して使っていたのですが
最近、それが 登録→保存→記事へ使用 という手順を全部踏んで終わらせて新規記事を作成すると
何故かサイズのダイアログでそのカスタムサイズが選択肢の中にない……という事態が発生。
一周すると設定したはずのカスタムサイズが選択肢から消えてる、という恐ろしい現象です。

調べてみても答えはなく、しかし最近同じ現象に悩まされている人は発見。
恐らくwordpress3.9未対応なのだろう、と勝手に予想して
違う方法を模索しました。

結果

<参考>
メディアのサイズを追加する(KoToRi:Blog様)

上記のサイト様を 丸写し 参考にさせていただきました。

functions.php に以下のコードを追加します。

add_image_size( $name, $width, $height, $crop );

$name=サイズの名称(半角英数のみ)
$width=画像の横幅(省略時は0)
$height=画像の縦幅(省略時は0)
$crop=縮小時にトリミングする場合はtrue、しない場合はfalse(省略時はfalse)

複数設定もOKだそうです。

しかしこれだけだと、投稿画面の「メディアを追加」から画像をアップロードした場合
画像のサイズを指定するダイアログで追加したサイズが選択できません。

その場合に、便利なプラグインがあります。

WP Image Size Selection

アップロードして有効化するだけでOKです。
本当にそれだけで利用できました。

詳細且つ丁寧な説明は上記サイト様にあります。

【ハートブレーン】https://heartbrain.net

コーダーがラクするためのwordpressプラグイン8選

wordpressはアップデートに合わせてプラグインも進化を重ね
1年前と比べても随分いろいろと便利になったものですが
今回はその中でも、個人的に自分がラクをするために、ほぼ毎回入れているプラグインをご紹介します。

All in one SEO Pack

固定ページ一覧画面から全ページ一気に
TitleとDescriptionとKeywordを編集できるのは大きいです。

Google XML Sitemaps

自動的にサイトマップを作成してくれるだけではなく、更新まで。
ズボラの味方です。

page Mash

サイドバーに表示される固定ページの表示順と一緒に
管理画面の表示順も入れ替わるので、編集したいページを探す手間が省けます。

PS Disable Auto Formatting

テキストモードで入力したpタグやbrタグが、ビジュアルモードでは除去されるという
wordpress特有のお節介を無効化してくれます。

WordPress Database Backup

データベースを管理画面からワンタッチでバックアップできる優れもの。
面倒な設定もなく、バックアップしたファイルを保存するのにFTPに繋ぐ必要もありません。

Jetpack

SNSとの記事の共有、短縮URL設定や簡単なアクセス解析など
「こんなこといいな、できたらいいな」をいっぱいフォローしてくれています。

Post Snippets

利用頻度が高いhtmlタグやphpのコードをショートコードとして登録して
編集画面からボタン1つで呼び出せる、コード忘れの多いコーダーにとって神様のような存在。

Advanced Custom Fields

管理画面で画像やテキストをワンタッチで入力できるようにしたい時
難しい設定やコード追加一切なしで、カスタムフィールドを設定できます。

PC慣れてない人のワードプレス操作の敷居が低くなります

プラグインなしでも手間さえかければできるものが多いのですが
失敗するリスクを少しでも避けたい!時間を少しでも有効に使いたい!という大義名分の下に
自分の知識と技術のなさを、こうしてカバーしています。

しかしコード忘れの多いコーダーって、存在意義あるんだろうか。

【ハートブレーン】https://heartbrain.net

Advanced Custom Fieldsの画像サイズ変更を難しくしていたのは私自身だった件

Advanced Custom Fieldsに勝てない戦いを挑んだ結果

私は今、この記事の存在が恥ずかしくて仕方ありません。

<?php if( get_field('カスタムフィールド名') ): ?>
<?php
$attachment_id = get_field('カスタムフィールド名');
$size = "好きなサイズ"; // (thumbnail, medium, large, full or custom size)
$image = wp_get_attachment_image_src( $attachment_id, $size );
$attachment = get_post( get_field('カスタムフィールド名') );
$alt = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true);
$image_title = $attachment->post_title;
?>
<a href="<?php echo wp_get_attachment_url( get_field( 'カスタムフィールド名',$post->ID) ); ?>" rel="lightbox"><img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" alt="<?php echo $alt; ?>" title="<?php echo $image_title; ?>" /></a>
<?php endif; ?>

普通にこれでOKでした。
じゃあ何に手間取ってたんだよ、という話になりますが
php if でくくるの忘れてました……。

サイズをサムネイルとか中にした場合、aタグで元の画像が出るように設定もしました。
lightbox機能も付けています。
使用プラグインはFancybox。
以前にこんなこと言ってた気がしますが
女心はコロコロ変わるものなのです。

何故ってslimboxは画像サイズそのまま出るから。
wordpressどころかPC慣れていないお客様に提供する場合、画像サイズ変更って割とハードル高いのですよ。
なので、そのまま放り込んでも表示されるように、自動修正してくれる道を選びました。
使い勝手はslimboxは申し分ないのですけどね。
しかしデジカメで撮影した横3000pxくらいの画像をそのままサーバーに放り込むのは
メモリがかなり無駄ですし、サーバー負荷の原因にもなりかねないので、お勧めはしません。

しかし、画像変更が面倒だという気持ちは個人的に理解できます。
windowsに付いてくる画像ソフトはペイントですが、これ、扱いにくい……。
画像サイズ変更の指標がパーセントでの拡大縮小しかなかったXPの頃よりはかなり改善されていますが
そもそもペイントに辿り着くまでが大変、という方もいらっしゃるのです。
PC関係専門職でもない限り、PC作業はどうしても通常業務の合間になりますから。
「勉強してください」で一刀両断するのではなく、出来る限り寄り添いたいとは思うのですが
なかなかうまくはいきませんね。反省。

絶対に馴染むことがないペイント操作画面
未だにこれで一発成功した試しがありません。

208日と8時間か……
500時間かけて全てペイントで描いたらしい、奇跡の一枚。
この境地に達するには、あと3回くらい生まれ変わらないと無理そう。

【ハートブレーン】https://heartbrain.net

ContactForm7でSPAMを防ぐ方法

今日の案件:ContactForm7というメールフォームプラグインを使っているが、そこからspamが送られてくる

私の周りが余程平和なのか、初めて聞く症例かもしれません。
ハートブレーンにも送られてはきますが、自動送信のSPAMじゃなくて、明らかに手動送信の宣伝メールですし。
手動で長文をコピー&ペーストして、メールアドレスとか入力して無差別に送信……泣ける話だなぁ。

それはいいとして
ContactForm7でSPAMを防ぐ方法は存在します。
方法は、Akismetを使うパターンと、チェック項目を作るパターン。
どちらも簡単な設定(Nが今まで知らなかったのが恥ずかしいくらい)でOKです。

<参考サイト様>
Akismet によるスパムフィルタリング
Contact Form 7 に追加すればスパムが届かなくなる魔法の1行(毎日興味津々様)

・Akismet

送信者のタグに挿入
akismet:author
送信者の入力欄に以下のタグを追加する。
例:

メールアドレスのタグに挿入
akismet:author_email
メールアドレス入力欄に以下のタグを追加する。
例: [email* your-email akismet:author_email]

URLのタグに挿入
akismet:author_url
URL入力欄に以下のタグを追加する。
例:

ちなみに公式サイト様を参考にしました。
疑問に思う前に、ちゃんと記事を見るべきでした。(自動的にはじかれるのだとばかり思ってました……)

・「内容を確認しました」というチェックボックスを入れる

Akismetだと必要なメールまではじかれてしまうのではないか、と不安な人には
こちらの方法をお勧めします。
少なくとも自動送信メールは防げます。
送信ボタンの直前辺りに、以下のコードを1行挿入するのみです。

[acceptance acceptance-0]&nbsp;確認ページはございません。内容をご確認の上チェックを入れてください

画像認証という手段も一般的なのですが
今回は、画像認証を見て帰ってしまうユーザーさんのことを考慮しつつ
画像認証で一発で通ることが稀だというNの個人的事情も織り交ぜ
省略いたします。

むしろよく見つけたな!ここを!

【ハートブレーン】https://heartbrain.net

サイトサーブでのwordpressアップデート注意点

午前中にお客様と打ち合わせをし
社長より100円高いメニューを堂々と注文してランチを楽しみ
事務所に戻ったら、とあるサイトのwordpressのアップデートとデータベースバックアップをお願いしていたPCマスターMさんから、このような書き置きがありました。

「更新がうまくできず、以降500エラーになってログインできなくなりました」

サーバーはサイトサーブを利用しているこちらのサイトですが
確認したら、サイトは表示されています。
ログイン画面や管理画面が全てアウト。
functions.phpとかプラグインお掃除とかバージョンのダウングレードを試しても全滅です。

サイトサーブのサポートに泣きついたところ

「wordpressは基本的に使えないとご案内しているのでサポートできません」

逆切れでふて寝

返す言葉もございません。

社長に「次からはよく調べてね?」と軽く叱られ
これはもうサーバー移転かサポートに再アタックか切腹か……
遠い目をしながら「サイトサーブ wordpress」でぐぐっていたら
天使が出現しました。

WordPress、アップデート時の注意点(株式会社システムシンキング様)

こちらによると、wordpressを自動更新すると、パーミッションが自動的に変更される、とのこと。
FTPソフトで確認してみると、ディレクトリは755、ファイルは644でした。
そしてサイトサーブの公式サイトで案内されている推奨パーミッションは、全て755。
ディレクトリもファイルも何もかも755。
これはこれで珍しい仕様なのですが、首をかしげる暇があったらまず挑戦。 FTPソフトで、全て755にしてみたところ、何とか復活しました。

しかしサイトサーブのPHPは(うちの場合)5.2.4で、MySQLは5.0です。
どの道3.9は不可能だと判断し、3.1にダウングレードしたままにしておきました。

管理画面が一部英語になってしまいましたが。

手動アップデートだと、バージョンがどこまで使えるのかを試したい気もしますが
今回で相当恐ろしい思いをしたので、しばらくはそっとしておきます。

【ハートブレーン】https://heartbrain.net

wordpress3.9がリリースされたよ

つい先日、3.8.3が〜って言ってた気がするのですが
時間は経つのは早いものですね……。
もうwordpress3.9がリリースされました。
こんなに体感経過時間が早いなんて、私も年老いたということでしょうか。

先日のように、クイックドラフトってなぁに?みたいなことがあるといけないので
機能の確認をしてみたところ、下記のような変更があったようです。

ビジュアルエディターの改善
>崩れたスタイルを整形するのに無駄な時間を費やすことなく、
>文書作成ソフトからビジュアルエディターにペーストできます
>(これで Microsoft Word に悩まされることもなくなります) 。

私が悩まされたのは、むしろ余計な整形機能を山ほどつけられた
御社のビジュアルエディタだったりするのですが
普段はソースでの編集しかしないところを、試してみたら

ビジュアルエディタがコンパクト……だと?

プルダウンですか

最初からめっちゃ便利です。
これもう、Tinymce Advanced いらないかもしれない。
メニューバーが出現したことで、見かけもかなりコンパクトになっています。

で、ワードからペーストしてみましたが……

文字サイズもコンパクト

私のやり方、何か間違えた?
フォントサイズとセンタリングが解除されております。
それくらいの編集は自分でしろ、ってことなのでしょうか。

ちなみにテキストは、先日もお話した日めくりカレンダーからお借りしました。

写真をドラッグ & ドロップ
>画像のアップロードが今までになく簡単になりました。
>デスクトップ上でつかんで、エディターにドロップするだけです

ソースエディタにもこれほしい

おおおおお!
これ、すっごく楽ですね!
何も考えずに放り込めます。
うっかりサイズをデジカメからコピーしたまま貼付という、本当に何も考えなかった場合は
多少苦労はしますが(編集ウィンドウから画像がはみ出ます)
それも……

ピンボケっぽくなってて自慢にならないかも

エディタ上でサイズ変更できるので、簡単に解決します。

画像を簡単に編集
>切り抜き・回転ツールにさらにすばやく
>アクセスできるようになったことで、
>投稿を編集している間の画像編集が
>もっと簡単になりました。
>エディター内で直接画像の縮尺を変更して、
>ぴったりはまるサイズを決めることもできます。

削除も一発でできるらしい
こんなボタンが出てきて

これ探すの前は苦労した
鉛筆ボタンを押すと、こんな編集画面に飛びます

ありがとう!wordpress、ありがとう!
お客様の長年の懸念事項が、ここで解決しております。
編集画面で迷子になった挙句放棄する方も多い現状の中
今までは、「ペイントでがんばって!」もしくは「ソフト入れます」で対応してきましたが
これなら大丈夫です。何せNにもわかります!

ちなみに画像は今日のランチ自慢です。
レストラン朱雀のソースカツ丼です。
県内を中途半端に食べ歩き、現在Nの好きなソースカツ丼暫定TOPです。

って言っても、この画像では全然自慢でも何でもないので

レストラン朱雀のソースカツ丼

ウィジェットとヘッダーのライブプレビュー
>サイトのウィジェットをテーマカスタマイザー内から追加・編集・移動できます。
>保存後に意図しない表示になってしまうことはもうありません。
>変更をライブプレビューし、準備ができた時のみ保存しましょう。
>改善されたヘッダー画像ツールではさらに、テーマをカスタマイズ中に
>ヘッダーをアップロード・切り抜き・管理できます。

何?って思ったので、3.8と比較してみます。

これも画期的だと思ってたのに
3.8のウィジェット編集画面

ついでにウィジェットの独自CSSも簡単編集できたらいいのに
3.9のウィジェット編集画面

3.8:外観→ウィジェット
3.9:外観→カスタマイズ

ビジュアル確認しながらウィジェット編集できるのか……!
しかもその上、サイトタイトルとキャッチフレーズ
フロントページと投稿ページも変更できます。
いじりたい部分の編集場所が分散していたのが、割と固まってきてます。

管理画面に行かないでも記事が書けるWordPress Front-end Editorがすごい(Shinichi Nishikawa’s様)

こちらによると、Front-end Editorも実装される可能性があるそうです。
編集画面に行かなくても、直接記事を編集できるのだとか。

みんビズ意識してるのかな?
いや、でもあれは日本のサービス、wordpressは世界共通。
それとも海外でもそんなサービスが出てきたのだろうか。

時代は確実に進化していますね。

【ハートブレーン】https://heartbrain.net

wordpress3.8.3がリリース……だと?

随分サイクルが早いな〜とか思ってたのですが
公式のアナウンスによると

>WordPress 3.8.2セキュリティリリースに残念ながら含まれてしまった小さなバグを修正するための WordPress 3.8.3 が利用可能になりました。
>ダッシュボード画面の「クイックドラフト」ツールは、3.8.2アップデートでうまく動作していませんでした。
>「クイックドラフト」これを使用した場合、下書きが消えてしまったり、保存されなかったりすることがありました。

とのことです。
っていうか、クイックドラフトって何?

などと、エセコーダーが詐欺コーダーに進化しそうなことを言っていてもダメなので
早速使ってみました。

クイックドラフト投稿前

クイックドラフト投稿後
ここに保存した内容が表示されて

下書き編集ページ
タイトルをクリックすると、編集画面に飛ぶようです。

これ、クイック投稿(わざわざ編集画面に行かなくても簡単に記事を投稿できる機能)と下書き(書きかけの記事を保存する機能)を統合したものですよね。
何故知らなかったのかというと、クイック投稿なるものを使ったことがなかったからです!(堂々と無能宣言)
何でも試してみなければ話にならない、ということですね。

というか、こんなに重要な機能にバグが……と思うと
むしろ迅速な対応をありがとうございました。

【ハートブレーン】https://heartbrain.net

旧バージョンのwordpressは危険

現在、wordpressのバージョンは、正式なものは3.8.1。
ベータ版は既に3.9が出ているようです。
流れが早すぎて追いつけてない……。

と、自分がおばさんであることを言い訳にして、更新のタイミングが遅れがちだった時期もありました。
プラグインの対応状況(某ギャラリー系プラグインが対応してなくて、わざわざダウングレードしたことも)や
バグとか仕様も怖かったので。

しかしそれって、割と危険なことだった模様。

wordpressをずっと旧バージョンのまま更新しないでおくと
主にセキュリティ面において、重大な欠陥が出てくるようです。
ものすごく意訳してしまえば

ウィルス「あっ、これ昔のやつじゃん。まだこんなの使ってんのかよ。よし、レベルアップした今の俺様なら、いろんなイタズラできるぞ〜」

その結果
例えば3.0.3だと、特定の人にしか見れないようにサイトにアクセス制限をかけたのに、それが勝手に無効にされたり。
3.3以前のバージョンだと、悪意あるユーザーが勝手に侵入して、おかしな仕掛けをしてサイトが書き換えられたり真っ白になったり。

他にも、勝手に管理者を増やされて、その人の好きなようにサイトを改ざんされたり
wordpressを設置してあるサーバーに負荷をかけてアクセス不能にしたり
大量にスパムメールを送信したことにされていたり
不正アクセスした上で殺害予告などの悪意ある書き込みを行い、管理者が逮捕された、なんてことも。

個人的に一番恐ろしいと思ったのが
アカウントを乗っ取られ、運の悪いことにそのアカウントがwordpressとTwitterを連動させていたので
数十件の偽ツイートを流されたロイター通信の被害でしょうか。
しかも内容がシリア問題の件とか。さすがに笑えない……。

ちなみに、前述の「3.3以前のバージョンだと勝手に侵入されておかしな仕掛けをされる」という件ですが
悪意あるユーザーの脳みそというのは、むしろ私たちより優秀な上、日々進化していくので
3.6.1でも同じ現象が起こったようです。
寄りによって、オバマ氏のサイトにアクセスしたら、クリントン氏のサイトに飛ぶように転送。
同じ党内の人間同士で仕掛ける意図は、時事問題に微妙に疎い上に偏ってるらしいNには到底わかりませんが
起こってはいけない事象なのは確かです。

<参考にさせていただいたサイト様>

WordPressやMovable Typeの古いバージョンを利用しているウェブサイトへの注意喚起(IPA 独立行政法人情報処理推進機構様)

知らなければ乗っ取られる!古いバージョンのWordPressの危険性と対策(ノート100YEN.com様)

WordPressのアップデート放置はこんなに危険! いっしょにセキュリティ意識もアップデート(LAYER8様)

ちなみに、ハートブレーンでは、基本的にアップデートは無償でいたします。
しかし、使用しているサーバーにより、wordpressの設置に使っているPHPのバージョン自体が古くて、更新ができない場合も多々あります。
その場合は、当該サーバーとの交渉、もしくはサーバー移転(こちらのパターンが多いです)作業が必要になりますので
別途料金をいただく場合もあります。


インターネットがありません / h_okumura

【ハートブレーン】https://heartbrain.net/

ターム別記事一覧でタームごとに内容分岐

wordpressのカスタム投稿タイプ。
ようやくその全てを理解……
できるはずもなく、未だにケアレスミス連発しているNです。

そんなNが、最近「こんな設定ほしいよな」という
ごくごくかるーーーい感じの技を(他力本願で)発見しましたので
紹介というか覚え書きを公開しておきます。

こちらを参考にしました→WordPressのカスタム投稿タイプ条件分岐まとめ(株式会社エクストのスタッフブログ様)

1つのタクソノミー(カテゴリー)の中のターム(分類)ごとに別記事を設定し、ターム別記事一覧ページに載せたい場合。

taxonomy.phpで表示させる場合

<?php if(is_tax('タクソノミー名', 'スラッグA')): ?>
内容A
<?php elseif(is_tax('タクソノミー名', 'スラッグB')): ?>
内容B
<?php else: ?>
それ以外の内容
<?php endif; ?>

ところでタームですが
サイトによっては「スラッグ」となっているので
頭の悪いNは、少しだけ(少し=1時間)混乱したのですが

ターム=カスタム投稿での分類
スラッグ=通常記事での分類

馬というカテゴリー名で
http://www.example.com/○○○ の○○○がhorseだった場合
タームが馬で、スラッグがhorse。

という解釈で、大体合っているのかもしれませんね。

この程度の答えを出すのに、本当にどれだけかかってるんだ……。

【ハートブレーン】https://heartbrain.net/

MW WP Formの使い方を初心者がまとめてみた

前回の結論ですが、割とあっさり出ました。

というか、単に私の下調べ不足であることが判明。
MW WP Form、特に設定が難しい仕様ではありませんでした。それでもContactForm7のようなお手軽さはないのでNのようなナマケモノは混乱しがちですが。
きちんと手順を踏めば、やりたい事がほとんどできるようです。

という訳で、私のように散々楽を覚えた後に初めてMW WP Formに移動した、ナマケモノのための手順をまとめました。
完全に覚え書きです。

まず、本文編集。
プラグインを有効化すると、管理画面の左サイドバーに「MW WP Form」という項目がありますので
そこの「新規追加」から編集しましょう。
投稿ページなどと同じようなエディタがあるので、一瞬あれれ?と思いますが
よく見ると

MW WP Form

メールフォームの気配を感じさせるボタンが紛れてます。
ポチッと押すと、

[mwform_○○○(テキストエリアならtext、ラジオボタンならradioなど)name="○○○(全角かな文字もOKです)"] 
とエディタに表示されますので、それぞれ設定します。

ボックスのサイズを変えたい場合は

[mwform_text name="電話番号" size="20"]
ラジオボタンの項目名は
[mwform_radio name="項目名" children="項目1,項目2,項目3"]

エディタ下の「完了画面メッセージ」で
メール送信完了画面に表示されるメッセージを設定します。

更に下の「バリデーションルールを追加」ボタンをクリックし、必須項目などの設定をします。
確認用メールアドレスなどもここで設定できます。

右サイドバーにある「自動返信メール」と「管理者宛メール」を設定します。

名前 : {名前}
メールアドレス : {メールアドレス}
電話番号 : {電話番号}

{}の中は

[mwform_text name="○○○"]
の「name」の部分です。
メールアドレスも個別設定できるようです。

エディタ下のURL設定で、入力画面、確認画面、完了画面、エラー画面のURLを指定します。
指定した後、同じアドレスの固定ページを新規作成し
右サイドバーの「フォーム識別子」のコードを貼り付けます。

これで設定完了です。

ちなみに今回、郵便番号を入力すると自動的に住所が出力される仕様にしたかったので ヘッダー部分の閉じタグ直前に下記のコードを入れました。

<script type="text/javascript" src="<?php bloginfo('template_url') ?>/js/ajaxzip2/ajaxzip2.js" charset="UTF-8"></script>
<script type="text/javascript">
//<![CDATA[
jQuery(function(){
AjaxZip2.JSONDATA = "<?php bloginfo('template_url') ?>/js/ajaxzip2/data";
jQuery('#郵便番号のID').keyup(function(event){
AjaxZip2.zip2addr(this,'都道府県のID','市町村名のID','番地のID');
})
})
//]]>
</script>

各IDは半角英数のみです。
この場合、mwform_○○の部分に、idも追加します。

今回、ヘタレなNは前回の他データから『ajaxjip2』を転載したのみですが

MW WP Formに郵便番号による住所入力補完をつけるには(Wordpress フォーラムより)

こちらで紹介されているように『ajaxzip3』を使った方が無難かと思われます。

今後もできれば「MW WP Form」を使っていこう……とは思いますが
この下調べ不足の体たらくぶりから考えて
「Trust Form」の「簡単すぎて逆に曲者」という評価も恐らく覆ります。

再挑戦してみようかなぁ……。

【ハートブレーン】https://heartbrain.net/

wordpressで使用するメールフォームのこと

wordpressには便利なプラグインや、便利すぎて使いこなせないプラグインが山ほどあります。
当然、webサイトには必須とも言えるメールフォームのプラグインも存在するのですが……。

これまでは当たり前のように「ContactForm7」を使っていたのですが
メールの内容確認という概念自体が存在しない海外とは違い、ここは日本。
「確認画面が欲しい」という要望は最早デフォルトなのです。

ContactForm7 での確認画面の実装は、以前に話題にしました。
今回もそれで……と思っていたのですが
半年という月日が技術を進化させたせいか、単にNのバカさ加減に磨きがかかったせいか、
どこをどういじっても、実装できません。
少なくとも考えが甘かったのは確かです。

という訳で、現在、どのメールフォームを使用するか検討中なのです。

ContactForm7

使い勝手の良さと付き合いの長さを優先し、確認画面の実装を 他力本願 あきらめずに試みるか

Trust Form

簡単すぎて逆に曲者というホーム○ージビ○ダーを思い出させる仕様は横に置き、確認画面が使える上にその他設定も一画面でできる便利さを優先するか

MW WP Form

カスタマイズの自由性を優先し、設定の難しさを今後の学習でカバーするか

少し寝かせて考えてみます。

【ハートブレーン】https://heartbrain.net/

2014年度・新年のご挨拶

新年あけましておめでとうございます。
旧年中は格別のお引き立てを賜り、誠にありがとうございます。
ハートブレーンは今後も「お客様第一に・知識と人格を磨いた業務」を心がけて参ります。
何卒よろしくお願いいたします。

昨年は思えば色々ありました。

新しい複合機を導入したり
何故か社員が強制的に食事会を開催させたり(複数回)
それがバーベキューにまで発展したり
Facebookアプリに勝手に友達増やされたり
一日社長が来たり(社員により勝手に任命)
経済調査の電話がかかってきたり
停電したり
種族を超えた様々な来客を迎え入れたり…………

後に行けば行くほど、ハートブレーンの適当さが丸分かりになる一年でした。

更に適当なことに、申し上げ忘れていたのですが
ブログのデザインを一新しました。
かせ澤さんの置き土産です。

もう少し改良の余地がありそうなので
このお土産を腐らせないよう、Milam Design様に縋り付き 試行錯誤していこうと思います。

そしてついさっき気づいたのですが

ブログのTOPページのページ送り、機能していませんでした……!

新しい年よりNの頭の中がまずめでたいですね。

該当するファイルを確認してみたところ、実はこんなコードを使っていたのです。

<?php query_posts("cat=-9"); ?>

query_postsとページャー機能の相性があまり良くないらしいです。
以下に書き換えることで解決しました。

<?php query_posts($query_string . '&' . 'cat=-9'); ?>

新年早々本当に適当なNとは違い
社長は早速デザインに勤しみ、ポストカードにして社員たちにも配って下さりました。

ポストカード

落ちていた石を見てインスピレーションが湧き、制作に至ったらしいこのポストカード。
石をハート型と見るか、ホットケーキの切れ端と見るかは、あなた次第です。

正月から絶食させられていたから、反動で食欲が凄まじいのですよ……。

【ハートブレーン】https://heartbrain.net/

welcartを既存サイトの既存テーマで動かすためにやったこと

以前こんなことをしたのは記憶に新しいのですが。
今回は、更に本格的にやった結果です。
何が本格的かというと、うちは曲がりなりにもデザイン会社。
なので、商品一覧ページなど、なるべく既存のデザインに沿うように作り替える努力をした、という意味です。

最初に言います。
PHPとか全然詳しくない初心者視点での、初心者がやらかしそうな事を全部やらかした結果報告です。

最初から違うテーマを使っているサイトなので、もちろんwelcartのデフォルトテーマは使えません。
カートページだけデフォルトテーマが自動的に使われているとか、そんなマジックは存在しません。
当たり前のことなのですが、Nはその事実に気がつくのに、少なくとも60分以上はかかりました。

<商品一覧>

既存のテーマを利用したショップの作り方 その2 を参考にして
テンプレート名を付けて設定し、item.php など適当な名前を付けてアップロードしました。
固定ページのテンプレート選択を忘れずに。

<商品詳細>

1. プラグイン側の functions.php を、既存テーマに移植

場所:usc-e-shop/theme/welcart_default/functions.php
テーマ内に既に functions.php がある場合(ない場合はほとんどないでしょうが…)、足りない部分をコピー&ペーストでOKです。多分。
そうしないと、あらゆるプログラムを読み込んでもらえません。

2. single_item.phpを、勇気をもって上書き

場所:usc-e-shop/templates/single_item.php
中身がメチャクチャ細かいので、一つ一つタグの位置を確認しながら書き換え。じゃないと無理です。
あらかじめカスタマイズ前の商品詳細ページを表示させると、確認しやすいです。
(Google ChromeかFirefoxのデベロッパーツールがオススメです)
念のため、元のファイルは絶対に他の場所に保存しておいて下さい。

3. usces_cart.cssを既存テーマにコピー

場所:usc-e-shop/css/usces_cart.css
移動ではなくコピーなので、変更しない部分は削除で構いません。

更に、実は期間限定販売の場合の残り日数と、定価から見た販売価格の割引率を表示させたいので
まずは割引率。

2の single_item.php で設定するのですが
ファイル内で使っていた usces_the_itemCpriceCr だと、円マークが付くので、数値扱いされずに計算してもらえません。
なので、定価は usces_the_firstCprice 、販売価格は usces_the_firstPrice を使います。

$適当な変数名1 .= usces_the_firstCprice('return') - usces_the_firstPrice('return');
$適当な変数名2 .= $適当な変数名1 / usces_the_firstCprice('return')*100;
$適当な変数名3 .= round($適当な変数名2,0)."\n";
$html .= '割引率' . "\n";
$html .= $適当な変数名3;
$html .= '%' . "\n";

残り日数は……

PHPで指定した日付までの残り日数を計算する方法
NeGiMeMo.net様

1から10まで頼りにさせていただきました。
私のような右も左も分からない人への説明まで完璧です。

こうして半分以上他力本願で出来上がった結果が

welcart商品詳細

まだまだ穴があるかもしれないので、随時直していきます。

【ハートブレーン】https://heartbrain.net/

wordpress3.8がリリースされたらしいのですが

wordpress3.8がリリースされたそうです。
とりあえず過去の失敗から学び、内容を見て回ると……
なんか、レイアウトが大幅に変更したらしいですね。
cool and stylishなデザインになった模様。
なんでいきなりルー語かというと、ちょっと前に新作が発売されるらしいゲームの機種がPS4であるという事実に対しての八つ当たりです。

とりあえずアップデートしておくか……とは思ったものの
これ、ほとんどのプラグインが、きっと未対応。

wp3.8ダッシュボード
画像はこちらからお借りしました。

ここまであからさまな変化だと、時間かかるんじゃないかなぁ
という、限りなく他力本願な行動理念により、とりあえず保留します。
誰か、私に人柱になる勇気をください……!(やっぱり他力本願)

あと、このダッシュボードは
スマホやタブレットからでも更新できるように調整されているようです。

って、アップデート、日本語版は手動か……。

甲羅に閉じこもる

【ハートブレーン】https://heartbrain.net/

wordpressのカスタム投稿タイプ設定項目

何気にやり方が何通りもある上、ちょっと地雷を踏むと500エラーを食らう
wordpressのカスタム投稿ですが。(私だけ?)

実は適当に設定していた、functions.phpに書き込むこの項目。

$args = array(
  'label' => 'カスタム投稿タイプ識別名',
  'labels' => array(
    'singular_name' => 'よくわからないので上の識別名と一緒でOK',
    'add_new_item' => '新規商品を追加',
    'add_new' => '新規追加',
    'new_item' => '新規商品',
    'view_item' => '商品を表示',
    'not_found' => '商品は見つかりませんでした',
    'not_found_in_trash' => 'ゴミ箱に商品はありません。',
    'search_items' => '商品を検索',
  ),
  'public' => true,
  'show_ui' => true, 
  'query_var' => true,
  'capability_type' => 'post',
  'hierarchical' => false,
  'menu_position' => 5,
  'supports' => array('title','editor','author','thumbnail',
                      'excerpt','comments','custom-fields')
); 

この度、カスタム投稿にカテゴリーをくっつける作業に入るに当たって
必要に迫られ 各項目の意味を、Google先生にお尋ねし調べてみました。

なんでそんな必要があるの、って?
答えは簡単。
肝心な部分まで設定ミスや削除してしまってwordpress自体が動かなくなる可能性が限りなく高いからさ!(爽やかに)

まず、‘public’ => true
カスタム投稿の内容を、内部で自動的に入力する(true)かしない(false)か。
trueにすると「管理画面への表示」「カスタム投稿タイプの機能でページ生成」「投稿タイプをカスタムメニューで選択できるようにする」といった機能が付加し、代わりに「検索結果にカスタム投稿タイプの記事を含める」ことができなくなる。

‘show_ui’ => true
上の「管理画面へ表示させるかどうか」という選択肢。
これ、多分……いらなかった……ね。

‘query_var’ => true
個別ページのURL指定。
true「http://サイトのURL/ ?投稿タイプ名=個々の記事のスラッグ」
false「http://サイトのURL/ ?post_type=投稿タイプ名&p=記事のID」

‘capability_type’ => ‘post’
ユーザー権限を区別するための投稿タイプを設定。
postは普通の記事、pageは固定ページ扱いとなり、originalにした場合は
capabilitiesで別途設定する。

‘hierarchical’ => false
カスタム投稿に親子関係を持たせる(true)か持たせない(false)か。
固定ページは階層を設定でき、投稿記事は設定できない。

‘menu_position’ => 5
メニューに表示される順番。(上の例だと5番目)

‘supports’ => array(‘title’,’editor’,’author’,’thumbnail’,’excerpt’,’comments’,’custom-fields’)
カスタム投稿タイプの記事の編集画面で設定できる項目を指定。
title=タイトル、editor=本文、author=作成者、thumbnail=アイキャッチ画像、excerpt=抜粋、comments=コメント一覧
trackbacks=トラックバック送信、custom-fields=カスタムフィールド、revisions=リビジョン
page-attributes=属性(hierarchicalをtrueに設定している場合のみ使用)

ここしばらく、ゆっくり勉強する時間がなかったので、良い機会でした。(内容がレベル低くて申し訳ないですが)
何をするにしても、ゆとりは必要ですね。

という訳で、今朝ゆとりというか、ちょっと和んだものをお見せします。

社長からの書き置き

今度ゆとりが出た時は、社長が生み出した不思議な生き物ギャラリーをお見せしたいと思います。(誉め言葉)

【ハートブレーン】https://heartbrain.net/

wordpress3.7にアップデートしてみた

10月下旬くらいから「wordpress3.7がリリースされました」というお知らせが目に付いてはいました。

しかし、メールフォームが動作しなくなったり、フォトギャラリーが動作しなくなったりと
即アップデートして安心できた結果があまりないので
「う〜ん、どうしようかな〜」とぐずぐずしていたら

今日、3.7.1がリリースされていました。

ペース早すぎ。

でもな〜……
ここまでペース早いと、なんか欠陥だらけみたいに思っちゃうし〜……

wordpress3.7 新機能

・パスワードメーターで、パスワード作成時により強力なものにするように誘導

・検索機能を改善

・翻訳機能を強化

・自動アップデート

・自動アップデート

ダッシュボード

えいやっ……!

賛否両論が多そうな機能ではありますが
基本的にダラで忘れっぽいという、メスとしておかしいだろうというステータスのNにとって
かなりありがたい機能なのです。

あと、英語をド忘れして、今や「This is a pen」レベルしかわからないので
翻訳機能強化もありがたいです。
English onlyのプラグインって多いのですよ。

今のところ問題はなさそうでホッ。
ただし、サーバーがhttps非対応の場合、テーマやプラグインのインストール元と通信できなくなったため
表示が うっとうしい 何か出てくるという
紛らわしい 少々スリル感が味わえてしまうそうです。

こうやって古い機能とかは淘汰されていくのだと考えると
古いバージョンのままでネットサービスを使いこなす、という考えはやはり相当危険ですね。 wordpressやサーバー仕様だけではなく、ブラウザとかパソコン自身も……。

高すぎて脳みそと財布が追いつかない場合のサポートを!!!誰か!!!

クリープ増量コーヒー
ものすごーーーく疲れてる時は、クリープ増量コーヒーってとても効果的だと発見。

【ハートブレーン】https://heartbrain.net/

Advanced Custom Fieldsに勝てない戦いを挑んだ結果

私がwordpressのプラグインと格闘している最中に
社長が外から持って来たお土産です。
ツッコミ所を全て無視すると、とりあえず和みました。

社長からのお土産

で、私が格闘していたプラグイン

Advanced Custom Fields

function.php でいろいろコードを仕込む手間を省き
且つ画像の挿入まで可能になるという
半端者のコーダーにしてみれば、ありがたすぎるプラグイン

なのですが

挿入した画像が表示されないいいいい!!!

それもそのはず。
普通に考えて

<?php the_field('フィールド名'); ?>

では、表示されるのは中身のコードだけだよ、って話です。
これはあかん、と次に試みたのが

wp_get_attachment_image_src

これで挿入してみたのですが
今回の私の希望は、画像を横500pxで表示すること。
しかしこの設定では、がんばってもサムネイルサイズでしか表示してくれません。

いろいろ粘れば無事解決してスッキリしたのでしょうが
残念な頭に残念な時間制限のため

<img src="<?php the_field('フィールド名'); ?>" />

そしてcssでサイズ調節……

虚しすぎる結末なので
いずれリベンジ予定。

【ハートブレーン】https://heartbrain.net/

Simple image sizes プラグインの初心者的まとめ

管理画面で指定したオリジナルサイズでのサムネイルを、タグを使わずに挿入できるという
ビジュアルエディタ派にとっては神のようなプラグイン「Additional image sizes」ですが
wordpress3.5.1 以降のバージョンでは未だに対応されない現状。

そんな時、新たに出現した救世主「Simple image sizes」ですが
プログラミングも何もできないNのような永遠の初心者には
どこを探しても詳細が載っていない、というのは結構辛い現実でした。

なので、備忘録代わりに使用方法をまとめておきます。

プラグインを有効化した後、ダッシュボードの左側メニュー「設定」→「メディア」を開くと
下の画像のような項目が出現します。

Simple image sizes 使い方1

【画像サイズ】項目の下方にある「Add a new size of thumbnail」ボタンをクリックし
サイズのタイトル(『テスト投稿用サイズ』とか適当に)や希望するサイズの数値を入力します。
その後「Crop?」と「Show in post insertion?」ボタンを1回ずつクリック後、「Validate」ボタンをクリックして下さい。

Simple image sizes 使い方2

下の【Thumbnail regeneration】項目の中の【Select which thumbnails you want to rebuild】項目に、設定したサイズが表示されます。
まずは「Regenerate Thumbnail」ボタンをクリックして、これまでアップロードした各画像の新設定サイズバージョンを作ってもらい
その後に「変更を保存」して下さい。

そしていつもと同じように、投稿(もしくは固定ページ)の編集画面などで画像をアップロードする時の
「添付ファイルの表示設定」でサイズを選択しようとすると

Simple image sizes 使い方3

このように、選択肢が増えています。

wordpress3.6 は要注意かもしれないと思った現象

今まで使ったことないサーバーでwordpressをインストールしてみたんです。

名前はよく聞く有名且つ優良サーバーだったので
ウキウキしながらインストール作業をし
設定完了後

ダッシュボードで勧められるがままに
バージョンを当初提示されたの3.5.2から、3.6.1にアップグレードして

せっせと作った自作テーマを
「外観」→「テーマ」から適用させたら

真っ白

外側のページは見れました。
管理画面も、ブラウザの戻るボタンから行くと見れます。
しかし、ページの更新、新規追加、そしてログアウト後の新規ログイン
全部真っ白。

そもそもポツーンとある

?>
って何よ。

テーマがおかしいのか?といろいろ引っくり返しても問題なく
ソースコードを見て検証しようとしても、そもそもソースにも

?>
のみ。

?>
だけでは、google先生に検索語句だと認識してもらえず
現象を調べることもできないじゃないですか。
どうしてくれる。(八つ当たり)

結局、再インストール後、アップグレードせずにテーマだけインストールしたら
問題なく動きました。

最初の管理画面で、PHPバージョンも問題なさそうなのに
インストールできるバージョンが3.5.2って時点で、何かに気づくべきでした。

調べてみたのですが
今回使用した【さくらインターネット】さんの他でも
同様の現象があったようです。
しかも原因不明、とのこと。

その人はwp-config.phpで一度デバッグモードにして戻したら問題なく動いたそうですが
私がやってみたら、まずデバッグモードが動いてくれませんでした。
デバッグ?何それ?みたいな。

詳細が不明なので断定はできませんが
3.6は割とサーバーを選ぶ感じもするので
アップグレードの際は
あらかじめバックアップと、ダウングレードの準備をしてからがよろしいかと思います。

かの有名な【さくらインターネット】を初めて使ったとかぬかすヘナチョココーダーが何を言ったところで、説得力に欠けるかもしれません。

【ハートブレーン】https://heartbrain.net/

Lightbox設定したはずのwordpress記事内の画像が二重に表示された案件

ギャラリーにて、問題発見。

二重Lightbox

ご覧の通り、通常画像とLightBox仕様画像が、上下に2枚表示されています。
普通であれば、wordpressの記事内で挿入した画像が、そのままLightBox仕様になるはずなのですが
何故か仕事を中途半端にサボっている状態に……。

「jQueryの指定方法がおかしいのかな?」と思ってタグを引っくり返したり書き換えたりしても
「imgタグに何か入れるか消すかしなきゃダメなのかな?」と試行錯誤してみても
「wordpressが新バージョンになって、数々のLightBox系プラグインも未対応なのかな」と投げ出す言い訳をしても
一向に何も変わりません。

そろそろドラえもんかアンパンマンにでも頼ろうかと思いかけた頃
昨日のことを思い出し
プラグインをまた総ざらいすることに。

すると、出てきます出てきます。
何か似たような働きをしていそうなプラグインが複数。

WP Fancy Zoom
FansyZoom
サムネイルサイズの画像をクリックすると、画面遷移せずに、上のように画像が拡大表示されるプラグイン

とりあえずこれを削除してみると

二重Lightbox再び

…………何が変わったの?と言われると
上の隠れている画像が、Fancy Zoom仕様から、Lightbox仕様に変わったよ!
としか答えられないのですが

WP jQuery Lightbox
Slimbox Plugin
いずれも、記事に投稿されたサムネイルサイズの画像をクリックすると、画面遷移せずにLightbox仕様で拡大されるプラグイン

ごめんなさい、重複してました。

まずはWP jQuery Lightboxを実行すると

何故か下

なんでよ。

という訳で、WP jQuery Lightboxを停止し、Slimbox Pluginを実行。

成功

割と簡単な問題だった気もしますが
辿り着くまでが長かった……!

ちなみに、下のような問題もありました。

Additional image sizes
管理画面で指定したオリジナルサイズでのサムネイルを
タグを使わずに挿入できるプラグイン

このプラグインが、実は3.5.1以降、対応していないらしいです。
なので、新しいタグを作ろうとしても、動かないという罠が……。

そのために、ほとんど同じ性能の Simple image sizes という救いの神のようなプラグインが存在するらしいので
入れ替えればOKです。
ただ、使い方が少しだけ違う上に、今のところ軽く探しても、詳しい方法がどこにもなかったので
いえ、正確には、初心者もしくはNのようなおバカコーダーにも理解できる方法が、探してみた限りなかったので
明日にでもまとめたいと思います。

他にネタが湧きさえしなければ。

【ハートブレーン】https://heartbrain.net/

wordpressがサーバーエラーになった時

いきなりwebサイトがサーバーエラーを吐きました。

第1形態

やや混乱しながらも、とりあえずプロバイダに電話してみると(座右の銘:他力本願)
何やら改ざん記録があるかもしれない、とのこと。

第2形態

最近ロ○ポップとか○日生命とかで流行中の、あれですか……。

とりあえず、wordpressを最新バージョンに入れ替えて下さい、とのことなので
3.5.2から更新し忘れていた自分の罪を天に向かって懺悔しつつ作業。

だけど

直りません。

沈没

さすがに生命の危機を感じたNでしたが
物は試し、とバックアップした後、プラグインフォルダ内を綺麗にお掃除したら
見事復活。

どうもこの場合、改ざんとかより、単なるメモリ不足
もしくは何らかのプラグインが最新バージョンに対応していなくて、「対処するまで働きません」のストライキモードだった模様です。

ちなみに、お掃除後に一気に入れ直しても、サーバーエラーが復活してしまいます。
面倒でしょうが、3個ずつくらいに小分けして、ちまちまと入れ直すと大丈夫でした。
その都度、プラグインがアップデートを要求してきたら、ちまちまと応えることも必要のようです。

プラグインのお掃除、ストライキ、入れた覚えのないプラグインには要注意です。

【ハートブレーン】https://heartbrain.net/

wordpressにyoutube動画を簡単に貼り付ける方法

今回はわざわざ仕込みのために、うっかりNの前で「今日ギター教室や〜」とかおっしゃる社長を捕まえて、一曲披露していただいたのですが。
これ、ハートブレーンの割とよくある風景だったりします。
一人で歌+ギターならまだしも、周りに歌わせて公開羞恥プレイが。しかも業務命令。

それはおいといて。

なんで動画を出してきたかといえば、よく見かける記事「wordpressにyoutube動画を簡単に貼り付ける方法」です。
曰く「埋め込みコードではなく、youtubeの動画URLを直接ビジュアルエディタに貼り付けるだけでOK」らしいのですが。
実は何度か試して、全て失敗しています。
地球上に恐らくへっぽこコーダーは山ほどいますが、多分こんな問題で何回もつまづくコーダーはそんなにいないという自負があります。

……と、根拠のない自信で完結していても仕方ないので
いつもの如くgoogle先生のお力を拝借すると

設定→メディア→「可能な時はURLのメディアコンテンツを直接ページに埋め込む」にチェック
らしいのですが
見てみたけど、そんなチェックボックスは存在しません。

それもそのはず。
3.5以降は、embedオプションは、embed機能に進化。
「可能な時はURLのメディアコンテンツを直接ページに埋め込む」のは、標準装備なのだそうですよ。
wordpressも、最近色々な所と仲良くなっているなぁ。

な〜んだ

で解決するはずもなく。
更に調べると、どうやら「ビジュアルエディタ」の部分が曲者だったようです。
URLをpタグやdivタグで囲むと、動画が表示されないようです。
URLというか、ただの文字列になってしまう模様。

でも、私が知る限り、functions.phpに下記コードを追加

<?php remove_filter('the_content', 'wpautop'); ?>

もしくはプラグインで自動整形を停止させる
PS Disable Auto Formatting

とかしないと、その問題って解決しません。

自分が使う分には遠慮なく「ビジュアルエディタ」を切りますが
お客様に利用して頂く場合、そうもいきません。
上記の方法を行ったら、テキストエディタで改行タグ入れなきゃいけなくなりますし。

なので、物は試しだと、動画URLをテキストエディタで貼り付けてみました。
結果、今のところ何の問題もありません。

バージョンが上がれば、また違う仕様になりそうな気もします。 というか、ビジュアルエディタで編集する時、pタグとかdivタグが消えて、改行タグだけ残してくれる魔法はないものでしょうか……。

【ハートブレーン】https://heartbrain.net/

wordpressにGoogleMapを簡単に埋め込みたい

ご存知の通り、googlemap は iframe 仕様です。

iframe 問題は、記憶の中から答えを探す限り、プラグインで解決していました。
確か iframe 全部がOKになるという優れもの。

しかし、最近はおばさんの知らない間に発展してきちゃってまあ
こんな現実はあるし
google map 対応プラグインが湧いて出ること出ること。
だったら自分は昔のプラグイン使っとけよ、って話になりそうなのですが
大抵昔のプラグインってば、新バージョンには対応してなかったりして。

色々ある中で、Nは考えました。
できれば google map にアクセスせずに、google map を埋め込みたいな〜
などという、楽とか以前にユーザーとして失礼すぎることを。

Google Maps v3 Shortcode

ありましたよ……!
ショートコードを全て自力で手打ちという問題はありますが
そこまでサボろうとしたら「お前はもうネット回線繋ぐな」って話になりそうですし。

[map w=”500″ h=”500″ z=”16″ address=”福井県あわら市古屋石塚11-16″ maptype=”ROADMAP” marker=”yes”]

これで

地図

これが表示されます。

ちなみに
w=幅、h=高さ。デフォルト値は400×300。
z=ズーム(縮尺)で、1〜20まで設定可能。1が広域、20が詳細です。地図として用いる場合、一般的には14〜16とのこと。
address=住所。Furuyaisiduka Awara Fukui……とか必死で英訳してたら、普通に日本語入力でOKだった、間抜けなNがいます。
maptype=表示形式。普通の地図は ROADMAP で、衛生地図は SATELLITE です。
marker=目印を表示するかどうか。

他にも色々設定できる項目があるようです。

【ハートブレーン】https://heartbrain.net/

ギャラリー表示の顛末

先日、ギャラリーを無事作れそうで安心し
ドヤ顔でブログを書き、社長に報告したのですが
新たな問題が浮上。

MISSION:ギャラリーTOPに各記事の掲載画像サムネイルを全て掲載せよ

無茶だ……!

と思ったのですが、昨日の問題も全て引っ括めて
[gallery]のショートコード一つで解決しました。
何なんだよもう、wordpress進化しすぎだろ。

ギャラリー
ほらね。

link=file とか色々付け足さなきゃいけない問題はありますが
それも編集画面で解決するようです。
何でも使いこなさなければ、ですね。

ちなみにTOPページに各記事のサムネイル全てを表示したい時は

<?php the_content(); ?>

のみで問題ないようです。

【ハートブレーン】https://heartbrain.net/

wordpress でギャラリーを作ってみた

これまで愛用していたギャラリーが、何故か今まで通りに使えなくなり
(原因は恐らくPHPのバージョンの関係……)

新たに探そうと旅に出たのはいいけど

・画像をアップロードするのにFTPソフトを必要としない
・カテゴリ分けできる
・画像にコメントを入力できる
・ギャラリーのTOPページに写真のタイトルが出る
・ギャラリーのTOPページにコメントが表示される
・CSSで好きなようにレイアウトできる

これだけ条件のそろったギャラリー、あるようでないものです。
これだ!と思ってクリックしたら、404だったり、5年以上前に更新停滞していたり。

仕方ないので、プログラミング知識ゼロの私が、教科書様とGoogle様という二大先生のお力を拝借し、作ってみました。

ギャラリー1

ギャラリー2

以前に問題となり、時間の都合上先送りになってしまったLightBoxも、今回無事導入できました。
できました、と言っても、「WP jQuery Lightbox」という非常に優秀なプラグインの力を借りただけなのですが。

途中、何度かつまづきましたが、何とか解決できました。
その内容を、忘れないように覚え書きしておきます。

■ 記事内容表示に文字制限を付ける(ブログでよく見かける「続きを読む」みたいな)

<?php the_content(); ?>
このコードを
<?php echo mb_substr(strip_tags($post-> post_content),0,200).'...'; ?>
に書き換える。
ちなみに「・・・」は、「続きを読む」に該当。

■ アイキャッチ画像にLightBox効果を付ける

<?php $thumbnail_id = get_post_thumbnail_id($post->ID);
$image = wp_get_attachment_image_src($thumbnail_id, 'large_img'); ?>
<a href="<?php echo $image[0]; ?>" rel="lightbox"><?php the_post_thumbnail(medium); ?></a>

アイキャッチ画像関係の設定の難しさは異常  by 永遠の初心者N

ところで、例題の画像ですが
多分Nの手により当分使われることになるでしょう。熱い情熱と気働。
適当に選んでるつもりが、いつも何故か勝手にそこを選択している、という深い事情があるのです……。

【ハートブレーン】https://heartbrain.net/

wordpressで外部jsファイルを読み込もうとした時の問題点

またしても、いきなり下命を賜りました。

「Contact Form7 に確認画面をつけなさい」

※Contact Form7とは、wordpress(今や超有名なCMS)で使用するプラグインの一つ。メールフォームが簡単に設置できるという、ヘタレコーダーの強い味方

それって設定一つでできるんじゃないのぉ?
…と思っていたら、甘かった。
なんと、設置できる設定など一つもないばかりか、今後も仕様変更するつもりはない、とのこと。

そもそもメールフォームの確認画面って、日本独自の文化なのだそうです。
そう、会釈・敬語・ヘアカラー・sushi,tempura と同じです。
さすが 他人の顔色を伺う 礼儀を重んじるのが基本スキルである日本人。

というわけで

ムリ

とはさすがに言えないので、方法を探し出して慣れないjsファイルをいじり、作業を進めていたのですが……
ヘッダーで指定したはずの外部ファイル、何故か丸ごと無視されます。
jQuery が使えないのか?と思ったら、そうでもないみたい。
wordpressの古いバージョンだと別途指定しなきゃいけないようですが、最新のバージョンは

<?php wp_enqueue_script('jquery'); ?>

で一発OKらしいですし。

じゃあ何があかんのだ?と
早々と音を上げて、Milam Design様 に質問してみたところ

「文字コードがShift_JISになってます。あと、エラー文がたくさん」(意訳)

最初から話になってなかったのか!
しかしjsファイル、utf-8でちゃんと保存してある……。
なんかサーバー問題とかいろいろ探れば問題は解決する気はするのですが
時間がないので、泣く泣く別の手を探すことに。
他に手ってあるのかな〜とか思ったら

ありました

Contact Form 7に確認フェーズを

 ヤケクソ とりあえずテストとして、全く何もいじらず、ヘッダーで指定だけしてアップロードしてみたら
なんと、動きました。

多分、前述のjsファイルは、文字コードよりエラーのみの問題だったんですね。
確認したら、ちゃんと動いた方のjsファイルも、文字コードがshift_JISでしたし。
しかし、何故jsファイルの文字コードが勝手に変換されるのだろう……謎だ。

【ハートブレーン】https://heartbrain.net/

アイキャッチ画像を設定する時に見落とした事

この間の続きっぽいのですが
いろいろ参考文献などを読み、設定してみたものの
何故か画像が表示されない、という事態に。

アイキャッチ画像なるものを利用することになるのですが functions.php に

add_theme_support( 'post-thumbnails' );

の1行を記述しても
初期設定から存在する「投稿」と「固定ページ」にはアイキャッチ画像設定が反映されるものの
今回カスタムポストタイプを設定したいテンプレートを使用した特定のページには、そんな気配すらありません。
拒絶とか以前に、最初から選択肢に入っていないという、恋愛沙汰においては可能性の芽を根こそぎ排除されている状態。

商品名と値段だけ表示されても、購買意欲など湧きません。
商品説明でいくら煽られても、嫌がらせでしかありません。
ということで、様々な解決方法を模索するも……

×templete → template

とか

item.php に対して、functions.phpで指定していたのが items.php

だったりとか
ケアレスミスとかいう美しい言葉で片付けることすら許されない勢いの綴り間違いは発見したものの
問題解決には至らず。

ここは初心に返るしかない、と functions.php を見てみたら supports の値が、title と editor しかないよ!
そりゃ認識されるわけないわ!

'supports' => array('title','editor','thumbnails');

なんとかできた模様。
あとはレイアウトを整えつつ、商品(?)個別ページも作らなきゃ。

仮メニュー

【ハートブレーン】https://heartbrain.net/

wordpressのカスタムポストタイプ

実は今の今まで、wordpress3.xに実装されたらしい「カスタムポストタイプ」を使ってみたことがありませんでした。
それどころか、どんな機能かも知りませんでした。
wordpress3.0 アップデート時にしっかり産休中だった、浦島太郎Nです。

遅れ馳せながら

管理画面イメージ

こんなカスタマイズに憧れて

コード

こんなコードを入れようと思い立ったのです。

最初は自分がwordpressテスト用として個人的に動かしているサイトでテストしようと思ったのですが……
残念ながら、FTP情報は自宅。
だったら管理画面のテーマ編集から……!
と、実行に移してみたら

syntax error

皆様、functions.php は、管理画面からいじってはいけません。

泣く泣くハートブレーンの方で試してみたら、上記の通り成功。
細かい設定などは、また後日……。

余談ですが、せっせと格闘している後ろでは、今日も醜い争いが沸き起こっておりました。

社長「俺は今年も三国花火行くよ♪」
T嶋さん「一体誰と行くんだか(笑)」
社長「またそういう話になる!N登さん、知ってるか?T嶋さんのあだ名、タラシやよ?」

蒸し暑さのあまり体調を崩す人も多い中
尊敬してやまないお二方はとてもお元気そうで、Nはうれしい限りです。
一つだけ注文を付けさせていただくなら、毎年涙を呑んで三国花火を見送る境遇にあるNに、チケットという名の思いやりをください。

【ハートブレーン】https://heartbrain.net/

プラグイン Welcartを使ってみた

朝、いきなりこんな課題が出ました。

「wordpress にショッピングカートをつけてみよう!」

…………できるのか?
と思ったのですが、何とこんなに素晴らしいプラグインがあるではありませんか。

welcart

テスト運用でもしてみようかな、と
まずはネタ集め。
とは言っても、こんな超面白いネタなんか、真面目に生きるしか能のない私めにできるはずもありませんので
地味でわかりやすいネタ集め。
社長に「何やってんの?」と微妙に警戒されつつもネタ集め。

しかし、ない。

社内風景1

社内風景2

社内風景3

冗談でも売れそうなものが、ない。
(冗談でも売ってはいけないのが混じっています)

ネタばかり仕込もうと思っても、そううまくはいかないのが世の常。
あくまでも今回はテスト運用ですので、不肖N、うーうー唸りながら何とかサンプルページ作りました。

ショッピングカートページサンプル

笑い所は何一つない、本当にテストのみのページではありますが。

(どうしても商品一覧ページでsyntaxエラーばかり吐き出すので、php構文とか全部引っくり返した挙句、既存のテーマを持ち出せばほとんど解決するという真理に辿り着いたのは秘密です)

【ハートブレーン】https://heartbrain.net/

今更wordpressのiframe問題

wordpress で youtube動画を埋め込もうとしたら、何故か表示されていませんでした。
なんで???と思ったのですが
そういえば、wordpress で iframe タグは自動的に消滅する仕掛けになっていたのですね〜。
忘れてました、そんな設定。

とりあえず
Viper’s Video Quicktags とか
WordPress Video Plugin みたいな
動画を埋め込むのに便利なプラグイン使うとか

Shortcode Exec PHP でiframeを使えるようにするとか
functions.php にコードを書き加えるとか
いろいろ方法はあるようです。

と、ここまで語ったところで判明。 なんといつからか、iframe タグが埋め込めるようになっていた模様。
私が産休で動けない間に、いつの間にか立派に成長して……(恐らく関係ない)

という訳で

ショートコード

そういえば、google mapとかlike box(Facebook)とか
iframe タグが大活躍な面もありますからね〜。
消滅してたら話にならないのかも。

っていうか、そのショートコードすら使用していないのに、何故か問題なく表示できたLike box……恐るべし!

【ハートブレーン】https://heartbrain.net/

WP-DBManagerでMYSQLパスがない!と文句言われた時の対処法

ハートブレーンでは、現在 wordpress でのホームページ制作を推奨しています。
文字や画像などちょっとした入れ替えをお客様自身で行えるように
そして、パソコンさえあればいつでも更新できる環境作りのため……
その他いろいろありますが、主な理由としてはこの2つです。

導入した我が社の方も、この癖の強いCMSを使いこなすために、日々勉強中なのです。
最初は必死についていく程度だったのが、少しずつですがイレギュラーな事態にも対応できるようになりました。
っていうか今やCMSの代表格扱いであるwordpressですが、最初はブログソフトだったはずだろ何故進化した。

中でも個人的に「助けられた」感が強いのは、様々なプラグインの存在。
PHP初心者レベル0.5くらいの私にとってはうれしすぎるショートコードとか、ボタン1つで簡単に設置できるギャラリーとか
勝手に挿入されるpタグに対処してくれたり。

特にありがたいのが、今回自分の覚え書きとして強制的に 見せ付け ご紹介する「WP-DBManager」
今回、とある企業様のwebサイトを更新したのですが、そちらにはこのプラグインを入れてませんでした。
あると当然便利、ドジっ子属性(物は言いよう)な私ことNでも、データベースが真っ白になって頭まで真っ白になる危険がなくなります。

で、インストールして有効化もしたし、さあ使おう!という段階で……

MYSQLパスは存在しません。DBオプション画面でMYSQLのパスを確認してください。

何この謎のメッセージ。
前に他サイトに入れた時はこんなのなかった。

……などと文句を言っても解決するはずがなく。
いろいろ調べてみて

データベース オプション の設定メニューで
パス
を入力して更新。

ルートディレクトリにある .htaccess に以下を追記
コード

これで一安心……と思いきや、一向に改善されず。
なんで?どうして?社長のおやつ勝手に食べちゃったのがまずいの?
と混乱すること10分(長いよ)

/usr/local/mysql/bin/
という、あからさまにサーバーによって違っていそうなパスに気がつきました。

そしてサーバーの方を調べてみると……見事にビンゴ。
ついでにPHPのセーフモードも解除し、ようやく解決したのでした。

っていうか、パスくらい最初に気づいて対処しようよ、私……。

と、亀の歩みではありますが、少しずつ知能をつけてきているつもりのNでした。

【ハートブレーン/WEB制作】https://heartbrain.net/webdesign

永遠の新参者なりの思い(ねごと)

wordpress3.5の日本版がリリースされていたので更新してみた。
前の3.4は、アップロードした後にContact Form7が動かなくなることが判明し、以来事前情報を集めないと怖くて踏み出せなかったのだが、見ている限り評判は概ね良好。
で、今が初めての使い試しなんだが……おおっ!メディア追加ボタンが超わかりやすくなってる!
これ、説明に困ったんだよ〜。前なんか121221なボタンで、説明に困る困る。
……って、これ、アップロードの設定や手順も全然違ってる!!!
うわ〜勉強しなきゃ〜。

っていうか、できればテキストエディタの上部にあるタグボタンに「br」を追加してほしいの。
function.php で自動改行無効にしちゃってるアタシからのお・ね・が・い

そういえば、新政権でネット投票が本格的に始動しそうなんだそうな。
安倍総裁は5年前に酷い目に遭ったし、理解はできる。
個人的にはあってもいいなぁ…とは思うけど、怖いのはウィルスとF5アタックと改ざん。
日本政府のインターネット方面セキュリティは、脆弱ってイメージしかなかったりする。
その辺にかなり技術を要する上に、インターネットに精通してる大臣もしくは官僚が必要になってくるんだが……。
平均年齢がまだまだ高い国会の爺様や婆様、大丈夫か?

まあ、同氏の最近の動向見てると、自分が陣頭指揮執りそうな勢いではあるw

メールでのお問合せ・お見積りはコチラ
TOP