質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

700閲覧

WordPressのマルチサイト機能 親サイトのトップページに全子サイトをランダムに取得/表示したい

yas88cs

総合スコア1

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2020/05/28 21:36

現在WordPressのマルチサイト機能を利用してサイトを構築中です。

いろいろと調べさせてもらいまして、、、
現状、親サイトのトップページに子サイトを取得/表示はできましたが、
子サイトを作成した日付順に表示されております。
この日付順をランダムに表示したくおもっております。

現状、日付順で取得できているコードは以下になります。

//////////////////////////////////////////////////////////

<?php $args = array(   'network_id' => $wpdb->siteid, 'public' => null, //公開 'archived' => null, //アーカイブ 'mature' => null, //成人向け 'spam' => null, //スパム 'deleted' => null, //削除済 'limit' => 1000, //最大 'offset' => 1, //親サイトをスキップ ); $sites = wp_get_sites($args); global $post; foreach ( $sites as $site ): switch_to_blog( $site['blog_id'] ); ?> <!--------ループ--------> <!--------Endループ--------> <?php restore_current_blog(); endforeach; ?> <?php wp_reset_query(); ?>

//////////////////////////////////////////////////////////

どなたかご教授いただければ光栄です。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

現状、親サイトのトップページに子サイトを取得/表示はできましたが、

子サイトを作成した日付順に表示されております。

この日付順をランダムに表示したくおもっております。

デフォルトだと サイトID 順ですね。

wp_get_sites() での並び替えに関するパラメータは、

orderby パラメータに id, domain, path, network_id, last_updated, registered, domain_length, path_length, site__in, network__in を指定することで並び替え項目を指定できます

order パラメータで、 ASC(昇順) , DESC(降順) を指定できます。

ただ、ランダムに取得という指定はありませんね。


おそらく、簡単な方法としては、PHP で配列をランダムにすることでしょうか。

たとえば、$sites = wp_get_sites($args); foreach の間に

shuffle($sites);

を入れて、wp_get_sites() で取得した配列をシャッフルするのはどうでしょうか。

投稿2020/05/28 23:13

CHERRY

総合スコア25175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yas88cs

2020/05/28 23:59

CHERRY様 とても早い返答を誠にありがとうございます。 上記 shuffle($sites); の挿入で、無事ランダムに表示が可能になりました! 的確なご指導をありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問