WordPress カスタマイズ覚書(Contact Form DB…)
Contact From DBプラグインに、添付ファイルが保存されない
CF7DBPlugin.php
$filePath = $cf7->uploaded_files[$nameClean]
Contact Form 7の仕様変更により、上記コードは、右辺値が配列に変わったようです。
$filePath = $cf7->uploaded_files[$nameClean][0];
添付ファイルが一つだけであれば、右辺値を0番目にすることで、正常処理するようになります。
本件のバグ報告?
プラグイン更新時に、特定のファイルを指定した場所にコピーする
WordPressのアクションフック (upgrader_process_complete)を使用し、プラグイン更新時であることを判断し、必要な処理を行う
function my_upgrader_process_complete( $upgrader_object, $options ) {
if ($options['action'] == 'update' && $options['type'] == 'plugin' ){
foreach($options['plugins'] as $each_plugin){
if ($each_plugin == 'target_plugin_path_name' ){
copy_dir('src_dir', 'dst_dir');
break;
}
}
}
}
add_action( 'upgrader_process_complete', 'my_upgrader_process_complete', 10, 2 );
WordPress開発時のデバッグ方法
もっと早く教えてほしかった!WordPress開発のデバッグが捗る11のヒント
Debug Bar, Simply Show Hooks 紹介されているこれらは、微妙で使いづらい
Query Monitorの方が良さそう
VSCode で WordPress をデバッグする
[PHP]ディレクトリごとファイルをコピーする
https://qiita.com/r-fuji/items/4736d9598a215b289dec
そもそも、copy_dir() が、WordPressにはある。コピー先に既にファイルが存在しても、必ずコピーし日付も更新される。https://developer.wordpress.org/reference/functions/copy_dir/
WordPressでディレクトリを取得する
XAMPPのMySQLがエラーで起動できない
・mysql ・performance_schema ・phpmyadmin ・test これをbackupと差し替えで、mysqlの起動は成功したが、bitnami wordpressはDB接続でエラー ・logでエラーといっているib_buffer_poolを、backupと差し替え 状況変わらず ・wp_config.phpのmysqlのユーザ名をroot、パスを空白に差し替え wordpressが起動した。なぜ?
その他
- CFDBの管理画面テーブルは、CFDBViewWhatsInDBで作成している。
- CFDBのHTML出力は、ExportToHtmlTable.phpで作成している。
- 値のリンク作成は、rawValueToPresentationValueで作成している。
- このHTML出力は、管理画面やショートコードなど、HTML表現される場所で共通に使用されている。
- CFDBのHTML出力は、プラグインのオプション設定では表現を変えられない。
- CSSであれば変更は可能
- CFDBのMySQLデータベース名「wp_cf7dbplugin_submits」
- Key/Value方式
DROP TABLE IF EXISTS `wp_cf7dbplugin_submits`;
CREATE TABLE `wp_cf7dbplugin_submits` (
`submit_time` decimal(16,4) NOT NULL,
`form_name` varchar(127) CHARACTER SET utf8 DEFAULT NULL,
`field_name` varchar(127) CHARACTER SET utf8 DEFAULT NULL,
`field_value` longtext CHARACTER SET utf8,
`field_order` int(11) DEFAULT NULL,
`file` longblob
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
参考
- 英語版WordPressを日本語版に変更する方法
http://xn--hostgator–tx4i9cssv854df9de53p.com/wordpress-japanese/ - WordPressのメール送信にGmail(Gsuite)を使う方法【2020年最新】
https://jajaaan.co.jp/app/business-tools/wordpress-gmail-gsuite/- Bitnami XAMPPをインストールすれば、Gmailによるメール送信設定が初期から可能なので楽
- Contact Form 7プラグインでGmailのSMTPサーバを使ってメール送信
https://www.javadrive.jp/wordpress/plugin-list/index12.html - WPメールSMTPでGmailメーラーを設定する方法
https://wpmailsmtp.com/docs/how-to-set-up-the-gmail-mailer-in-wp-mail-smtp/
- AWS Lightsailで構築したWordpressのMySQLにアクセスする
https://tacosvilledge.hatenablog.com/entry/2020/07/11/034627 - WordPress上でajax経由で関数をactionさせる時はadmin-ajax使うといいよ!
https://fwww.hateblo.jp/entry/2017/11/24/160719 - jQueryでデータテーブルの作成
https://datatables.net/ - 【2021年版】5GB 無料でAll In One WP Migrationの容量の制限を上げてインポートする方法
https://purikuro.com/2021/02/03/allinonewpmigration_max/ - XAMPPでMySQLがStart出来ない場合の対処方法
https://blog.senseshare.jp/debugging01.html - Contact Form DB ( CFDB ) は消えてしまったのか?
http://sakusaku.me/blog/contact-form-db-dissapear.html