カテゴリー
Wordpress

MV WP FORMのDayPickerが動かない時はjquery-uiを疑え!

WordPressのフォームプラグイン「MV WP FORM」をクライアントからの依頼で導入。Contactform7と異なり、確認画面と完了画面が出せるらしい。
とりあえず入れてみたが、初実装のため全然わからず、tipsサイトを見ながらやって何とかこうにか動くように。
ただ、カレンダー形式で日付が選べるDaypickerがどうしても動かない。
調べたところ 「wp_headとwp_footerをjqueryの前に書け」と大体書かれているのだが、それをしてもカレンダーは表示せずテキストボックスのまま。
うんうん唸りながら開発者ツールのコンソールを見てみたら、エラーでnot found というものが出ている。
おやややや?と思って調べてみたら、「jQuery カレンダーから日付を入力するサンプル(Datepicker)
というページにて、jquery-ui.min.jsとjquery-ui.cssいうファイルの存在が。
これは匂うと思い、cdnから https://code.jquery.com/ui/1.12.1/jquery-ui.jsと//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.cssをリンクしたら、出やがった。プラグインにもWPにもパッケージングされてないんかーい!

カテゴリー
.htaccess Wordpress

サーバー引っ越しをしドメイン移管をした際のWPに入っているhtaccessの設定に注意

へテムル→さくらビジネスのケースだけじゃないと思うが、サーバー移管でWordpressを移管する際の注意点。
特にhtaccess。マルチサイトを切っている場合は特に気をつけておく点をメモメモ。

【1】旧サーバーで使っていたhtaccessは合わない可能性が高いので、基本一緒に移管しない。
一緒にアップロードせずにとりあえずhtaccessなしでとりあえず動かす(もしくは、デフォルトのhtaccessを入れておく)
じゃないとおそらく画面は「Internal Server Error」が表示される可能性あり。

【2】マルチサイトを使ってる場合は、最初はhtaccessは持ってかない。なぜなら設定が変わってる可能性があるため。
管理画面のネットワーク管理画面にある「設置」→「ネットワーク設置」にあるhtaccess情報をコピーしてサーバーにhtaccess初アップ。
これで、一応マルチサイトの末端ページは見る事が出来るはず。見る事はね。

【3】上記の設定だと、マルチサイトの管理画面に入れない、マルチサイトでアップした画像やファイルが閲覧できない可能性がある。
これは上記の「ネットワーク設置」にある情報では動かないため、らしい。htaccessの中にインストール先ドメインが入ってるかと思うので


RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) ●ドメイン●$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ ●ドメイン●$2 [L]

これを削除してアップすると、マルチサイトが動き出す。


RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

カテゴリー
Wordpress

[WP]WordPressでと同じ動きをするコメントアウトを使う

WordPressとMovableTypeのどちらも使っていると、「こっちのこのシステムがあれば便利なのに」と思ったりするもの。
その中の一つにMTにある「mt:Ignore」というMTタグがある。このタグで囲ったらその中のソースはソース上にも表示されないという代物。WPではそういう専用タグがないので困っていたのだが、phpの構文でできる模様。テストしたら消えたのでぜひぜひ。


<?php if(0) { ?>
この部分は出力しない
<?php } ?>

カテゴリー
Data base Wordpress

[WP]サーバー引越の際のDBの書き換えで楽をする方法

以前のWordpressの引越はDBを触らないといけなかった。これはシステム関係に疎いデザイナーにとっては、phpMyAdminを触らないといけないという恐怖の仕事であり、できるなら移管後に構築をしたいと思った物である。

それが、最近ではスクリプトで一括で処理ができるようになったらしい。便利な世の中である。

参考になるのが「ドメイン変更を伴うWordPressサイトのサーバー移転方法」でも書かれている「DATABASE SEARCH AND REPLACE SCRIPT IN PHP」を使用。これがあれば、とりあえずは動く所まで基本持っていける。

それでもphpMyAdminを触らざるを得ない時もある。
その時は下記の構文で一括置換で頑張るしかない。

update テーブル名 set カラム名 = replace(カラム名, “置換前の文字列”, “置換後の文字列”)

サンプルとしては、

UPDATE wp_posts SET post_content=REPLACE(post_content,"old.example.com","new.example.com");

テーブル「wp_posts」の、カラム「post_content」の「old.example.com」を、「new.example.com」に置き換える、っていう処理ですな。