サポート » 使い方全般 » インポートの際、記事制作者を以前のまま取り込みたい

  • 解決済 hanahana-mai

    (@hanahana-mai)


    現在WPの移行作業を行っています。
    Aに設置されているWPからXMLで記事をエクスポートし、Bの新しいWPにこのデータをインポートするのですが、記事データごとにユーザーについてどうするか毎回聞かれてしまいます。

    そのまま無視して取り込むと、全ての記事が管理者権限の投稿になってしまうのです…。
    投稿者数が300ユーザー程度あるので、大量の記事に1つ1つユーザーの振り分けはできません。

    どうにか、以前(AのWP)のユーザーをそのままでBに取り込む方法はありませんでしょうか。

    お詳しい方、アドバイスを頂けないでしょうか。
    宜しくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    適当なフックやオプション設定はないようですね。
    JavaScript で設定画面のユーザー選択コンボボックスを自動選択する方法ではどうでしょうか?
    予めユーザー(表示名が同じ)が存在することが条件となってしまいますが・・・。
    この方法でもいいかなと思われたらレスください。ちょっと考えてみます。

    トピック投稿者 hanahana-mai

    (@hanahana-mai)

    ishitaka様

    ご連絡有難うございます!

    >>この方法でもいいかなと思われたらレスください。ちょっと考えてみます。

    はい、この方法でも大丈夫です。
    ユーザー自体は、古いほうと新しいほうで一緒なデータを取り込んでいます。

    どうぞ、よろしくお願いいたします。mm

    下記のコードではどうでしょうか。

    functions.php 等に

    function enqueue_wp_importer_auto_select_author_script( $hook ) {
    	if ( $hook !== 'admin.php' || ! isset( $_GET['import'] ) || $_GET['import'] !== 'wordpress' )
    		return;
    
    	$script = <<<SCRIPT
    jQuery(function($) {
      $(window).load(function () {
        $('#authors li').each(function(key, value) {
          var name = $(this).children('strong').first().html();
          var displayName = name.replace(/\s\([^\)]*\)/i, '');
          $(this).find('select').first().children('option').each(function() {
            if ($(this).html() == displayName) {
              $(this).attr('selected', 'selected');
            }
          });
        });
      });
    });
    SCRIPT;
    
    	wp_add_inline_script( 'jquery-core', $script );
    }
    
    add_action( 'admin_enqueue_scripts', 'enqueue_wp_importer_auto_select_author_script' );
    トピック投稿者 hanahana-mai

    (@hanahana-mai)

    ishitaka 様

    ご連絡が遅くなり大変申し訳御座いません。
    お送り頂きましたコードをfunctions.phpに配置し、XMLをインポートしましたところ、
    無事に全てのユーザーが、今までのユーザー名のまま登録することができました!
    凄いです!!

    本当にありがとうございました。
    どうするものか悩みこんでいたので本当に助かりました。mm

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「インポートの際、記事制作者を以前のまま取り込みたい」には新たに返信することはできません。