子ブログから他の子ブログのタイトルを習得する方法
-
はじめまして。
wordpress muを使って子ブログが複数ある状態です。
例 AA BB CCこのAAのブログからBBのブログのタイトルを取り出すにはどのようにすれば
良いでしょうか?get_the_title の mu版などあるとスマートなのですが見当たらず。
よろしくおねがいいたします。
-
※ 「【重要】 お読みください」はフォーラム管理上のお知らせを掲載するカテゴリーですので質問のトピックには使用されないようお願いします。質問のトピックを作成される際には最もあてはまるカテゴリーを選択してください。本件は「使い方全般」カテゴリーに移動します。
投稿をまちがったフォーラムにしてしまったようで失礼いたしました。
お詫びします。移動、ありがとうございます。
WordPress MUは開発終了してて使ったことないので、WordPress3.xのマルチサイト機能に読み替えてます。多分ほとんど一緒じゃないかと思います。
<?php switch_to_blog(2); //ここから、ブログID=2の処理に切り替え bloginfo(name); //ブログ名表示 restore_current_blog(); //もとのブログの処理に戻る ?>https://codex.wordpress.org/WPMU_Functions/switch_to_blog
こんなんでどうでしょう。
BBのブログIDが2だったら、これでタイトル取れます。
それか<?php $blogdetails = get_blog_details(2); //$blogdetailsは勝手につけた変数名 echo $blogdetails->blogname; ?>http://codex.wordpress.org/WPMU_Functions/get_blog_details
##
get_the_title の mu版などあるとスマートなのですが見当たらず。
ほんとそう思います。
get_home_urlは引数にブログID入れられるので、get_blog_name($id)的なのがあると便利そうですが。
get_blogaddress_by_なんちゃらとか、get_id_from_blognameって関数はあるのに
get_blogname_by_idっぽいのは見当たりませんでした。。。とはいえget_blog_detailsでそれなりに便利かもしれないと、これ書きながら思いました。
ここまで書いて、私の勘違いだったら申し訳ないのですが
このAAのブログからBBのブログのタイトルを取り出す
「BBのブログのタイトル」というのは、ブログそのもののタイトルじゃなくて
新着○件の「ブログ記事」のタイトルってことだったりしますか?それだったら、こういう風に出力してほしいなー、ってのをおしえてください。
switch_to_blogとget_postsの組み合わせで割と簡単にいけるはず。丁寧にありがとうございます。
今は、muではなくマルチサイトというのですね。失礼しました。。
仰るとおりマルチサイトです。
そして言葉足らずでした、これも仰るとおり記事のタイトルです。
Google Analytics Popular Postsのプラグインを(人気記事ランキングをAnalyticsから)
これを、マルチサイトで動かした際にも正常に動くようにしたいと思っているのです。
URLはとれるので、URLを正規表現で整理して、対象の子ブログを特定し、対象記事のタイトルを
習得するようなイメージでおります。頂いた関数を元に今イメージしてみたのですが
URLの子ブログ名から子ブログIDに変換する部分が少し難しそうですね。
プラグインの処理が挟まるのですね。
それだと普通にテーマでget_postsすればいいってわけにいかないですね。
Google Analytics Popular Postsプラグインは、「This plugin hasn’t been updated in over 2 years.」のアラートがでているので、今のGAのAPIでちゃんと動くのか未検証ですし、作者の方のWebサイトがなくなっているので、ちょっとすぐに情報がご提供できません。
直接プラグインのソースを読めばなにかヒントがあるでしょうが。。。ありがとうございます。
ある程度プラグインのソースも読んだので何とか出来そうです。
urlから子ブログ名を習得(正規表現)
名前からidに変換 (switch_to_blog( get_id_from_blogname( “hoge” ) );)
スイッチブログ
タイトル習得
スイッチブログ(戻る)
上記流れを差し挟めばできそうです。時間あるときにやってみます。
せっかく手を入れるので結果をシェアしたいのですがプラグインを修正した際などはブログなどで公開して問題ないんでしょうか?ライセンス的には問題無いと理解していますが、マナーとしては作者にメールでご一報でしょうかね?
urlから子ブログ名を習得(正規表現)
名前からidに変換 (switch_to_blog( get_id_from_blogname( “hoge” ) );)この部分ですが、wp_get_sites()という関数を使えば正規表現を使わず、直接ブログIDを取得するなどもう少し楽にできそうです。
http://webourgeon.com/2013/11/18/wordpress37-wp-get-sites/
ぜひ頑張ってみてください!(中途半端な情報提供ですみませんすみません)せっかく手を入れるので結果をシェアしたいのですがプラグインを修正した際などはブログなどで公開して問題ないんでしょうか?ライセンス的には問題無いと理解していますが、マナーとしては作者にメールでご一報でしょうかね?
ご理解の通りWordPressプラグインはGPLライセンスなので、公開するのは問題ないですよ!
作者への連絡もライセンス上の義務ではないですが、せっかく日本人の方のようですし、お知らせしてあげるのは良いことだと思います(・∀・)bよさげな関数ありがとうございます!
これは確かに便利そうです。
トピック「子ブログから他の子ブログのタイトルを習得する方法」には新たに返信することはできません。