2016-10-08 4 views
0

私はWordPressのプラグインでこの機能を作成しようとしています。私は決して変更されない設定された数のページを持っていると私は手動で最初のサイトに移動することなく、設定したすべてのWordPressのサイトにそれらを自動的にインポートする、ページを含むxmlファイルをエクスポートし、新しいサイト。これについての考えは?WordPressの中にワードプレスのページをプログラムで読み込む方法はありますか?

おかげ

答えて

1

あなたは以下のコードをあなたのXMLファイルは、他のサイトにアクセスできますどのようにあなたのXMLファイルをループへとループを可能性がわかっている場合: -

// Create post object 
$my_post = array(
    'post_title' => wp_strip_all_tags($post_title), 
    'post_content' => $post_content, 
    'post_status' => 'publish', 
    'post_author' => 1, 
    'post_category' => $cat 
); 

// Insert the post into the database 
wp_insert_post($my_post); 

あなたは開始する必要がありますこのコードはプラグインのインストール時に表示されます。

0
  1. デフォルトのWordpress export toolからページをエクスポートできます。これにより.xml(WXR)ファイルが作成されます。
  2. その後は次のcommandとそれぞれ一つのサイト、上のWP-CLIツールを使用してページをインポートすることができますワードプレスは、RSSを拡張さの略

    $ wp import file-name.xml

WXR。

0

ページをアレイに格納してから、プラグインがアクティブになったときに自動的に挿入することができます。私は各ページのmeta_keyを保存することをお勧めします。これは、プラグインがアクティブ化され、非アクティブ化されるたびにプラグインが作成されないように、既に挿入されていることを示しています。これをプラグインのメインファイルに入れることができます。番号が付けられたページとスラッグを実際のページ名に置き換え、 "my_plugin"をプラグインの名前空間に置き換えてください。

<?php 
    function create_my_plugin_pages() { 
     $pages = array(
     'Page 1' => 'page-1', // Use slugs to create meta-keys 
     'Page 2' => 'page-2', 
     'Page 3' => 'page-3' 
    ); 

     foreach($pages as $title => $slug) { 
     $meta_key = 'my-plugin_'.$slug; 

     // Check that the page wasn't already created 
     $existing = get_posts(array(
      'post_type' => 'page', 
      'meta_query' => array(
      array(
       'key' => $meta_key, 
       'value' => '1' 
      ) 
     ) 
     )); 

     // Create page if it doesn't exist 
     if (!count($existing)) { 
      $new_page = wp_insert_post(array(
      'post_title' => $title, 
      'post_status' => 'publish' 
     )); 

      add_post_meta($new_page,$meta_key,'1'); 
     } 
     } 
    } 

    register_activation_hook(__FILE__, 'create_my_plugin_pages'); 
    ?> 
関連する問題