TablePress 自動インポート機能が使えなくなった! – WordPressプラグイン
他サイトで「TablePress」使っていましたが、バージョン上げたところ、定期実行する「自動インポート」が機能しなくなりました…
「自動インポート」は有償版「Max」のみの対応になってしまったようです…orz
Get even more TablePress! · TablePress対応
外部のPHPファイルからインポート処理を実行するようにしました。
<?php
require_once('/home/***/www/wordpress/wp-load.php');
if ( ! class_exists( 'TablePress' ) ) {
die( 'No TablePress Class!' );
}
require_once('/home/***/www/wordpress/wp-content/plugins/tablepress/classes/class-import.php');
function tablepress_import($server, $existing_table) {
$importer = new TablePress_Import();
$import_config = array(
'source' => 'server',
'server' => $server,
'type' => 'replace', // 置換
'existing_table' => $existing_table,
'legacy_import' => false,
);
$import = $importer->run( $import_config );
}
wp_set_current_user(1);
// Server Path to file:(インポートするCSVファイル)
$server = '/home/***/www/wordpress/wp-content/uploads/csvfiles/test.csv';
// Table to replace or append to: Table ID
$existing_table = '1';
if ( ! file_exists($server) ) {
die( "No file : " . $server );
}
tablepress_import($server, $existing_table);
exit;
- WordPress関数を外部から使えるように
wp-load.php
を読み込みます。 class_exists
で、TablePressプラグインが有効になっているか確認します。- TablePressの
class-import.php
を読み込み、TablePress_Import()
を使えるようにします。 TablePress_Import
のrun
メソッドにパラメータを渡して実行します。wp_set_current_user
で実行時のユーザを設定します。
まとめ
- インポート処理作成しましたが、比較的簡単にできてよかったです。(*^◯^*)
crontab
で定期実行するようにしています。
参考
WordPress活用術