12

WordPress3.0のマルチサイト機能を使用してセットアップされたサイトの小さなネットワークがあります。他のさまざまなサイトから特定の投稿を取得して表示する別のサイトを作成したいと思います。この新しい「ハブ」サイトは、ユーザーにとっては(ドメインマッピングを使用した)独自の別個のサイトのように見えますが、そのコンテンツは他のサイトからの投稿からのものです。

WordPressマルチサイト設定で別のサイトから投稿を取得するにはどうすればよいですか?サイトの名前に基づいて投稿をクエリできますか?最終結果は、日付でソートされたさまざまなサイトからの投稿のコレクションである必要があります。

ご協力いただきありがとうございます。

4

2 に答える 2

18

あるブログから投稿を取得して別のブログに表示したいという同様の問題がありました。必要に応じてニーズに合わせて少し変更できる次のソリューションを思いつきました。

<?php
global $switched;
switch_to_blog(2); //switched to 2

// Get latest Post
$latest_posts = get_posts('category=-3&numberposts=6&orderby=post_name&order=DSC');
$cnt =0;?> 
<ul>
    <?php foreach($latest_posts as $post) : setup_postdata($post);?>
    <li>
        <a href="<?php echo get_page_link($post->ID); ?>" title="<?php echo $post->post_title; ?>"><?php echo  short_title('...', 7); ?></a>
    </li>                                
    <?php endforeach ; ?>

<?php restore_current_blog(); //switched back to main site ?>

この機能を簡単に使用したくない場合は、出力される単語の量も制限します

$post->post_title; 

それが役に立てば幸い。

于 2012-07-08T23:45:37.640 に答える
2

これは、データベースを直接呼び出すことで設定するのはそれほど難しくありません。$ wpdbオブジェクトを使用して、インストール上の任意のサイトから投稿をクエリできます。カスタムデータベースクエリの使用については、カスタム選択クエリを使用した投稿の表示を参照してください。ただし、$ wpdb-> postから選択する代わりに、投稿元の特定のサイトテーブルにアクセスする必要があることに注意してください。デフォルトのWordpress3インストールでは、これはwp_12_postsになります。ここで、12はサイトIDです。IDは、wp_blogsテーブルで確認するか、管理メニューの[サイト]セクションの[ID]列を確認して確認できます。

于 2010-10-08T19:03:05.797 に答える