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_Importrunメソッドにパラメータを渡して実行します。
  • wp_set_current_userで実行時のユーザを設定します。

まとめ

  • インポート処理作成しましたが、比較的簡単にできてよかったです。(*^◯^*)
  • crontab で定期実行するようにしています。

参考

WordPress活用術

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA