サポート » テーマ » 子ブログのIDを取得したい

  • 解決済 takada_r

    (@takada_r)


    はじめまして。

    WordPress3でマルチブログ化した後に、子ブログのブログID(?)を取得するテンプレートタグはあるのでしょうか?

    あるのでしたら教えていただけませんでしょうか?

    宜しくお願いいたします。

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

    こういうのでいいですか?

    <?php
    $name = "blogname";
    echo get_id_from_blogname( $name );
    
    ?>
    トピック投稿者 takada_r

    (@takada_r)

    >nobitaさん

    早速のお返事ありがとうございます。

    上記テンプレートタグを試してみたのですがうまく反映されません。
    記述する場所なども関係するのでしょうか?

    一応やりたいことを…
    例えば個別記事では
    <div id="post-<?php the_ID(); ?>">
    と記述すると
    <div id="post-1">
    となるようにブログ毎にIDを吐き出して
    <body id=”blog-<?php ブログIDを吐き出すテンプレートタグ?>”>
    としたいです。

    基本的には各々のブログは同じテーマを使用してブログ毎に背景やロゴ画像などちょっとしたところをCSSで変えられるのが理想です。

    もしくは
    <?php body_class(); ?>
    こっちの設定を変えた方が早いんでしょうかね?

    <?php
    $site_stats = get_sitestats();
    echo $site_stats['blogs'];
    ?>

    とか使えるんでしたっけね?

    こんにちは、お答えするときに、テストしたコードは、以下の通りです。

    <div id="container">
    			<div id="content">
    
    <?php $name = "subdomain";echo get_id_from_blogname( $name );?>

    基本的には各々のブログは同じテーマを使用してブログ毎に背景やロゴ画像などちょっとしたところをCSSで変えられるのが理想です。

    <body <?php
    //$name = "sub";
    $name = get_bloginfo("name");
    $blog_family = "myblog-".get_id_from_blogname( $name );
    $c = array("hohoho","fuga",$blog_family);
     body_class($c); ?>>
    <body class="home blog logged-in hohoho fuga myblog-2">

    $nameは、現在表示しているブログ名になるようにしておけば、CSSの指定は、ブログごとに出来ると思います。

    上記テンプレートタグを試してみたのですがうまく反映されません。
    記述する場所なども関係するのでしょうか?

    メインブログで表示した場合には、idは返って来ないようです。

    <body <?php
     $name = get_bloginfo("name");
     $blog_family = get_id_from_blogname( $name );
    
    if(!empty($blog_family)){
     $blog_family = "myblog-".$blog_family;
    }else{
     $blog_family = "";
    }
    $c = array($blog_family); body_class($c); ?>>
    トピック投稿者 takada_r

    (@takada_r)

    自己解決しました。

    書き方が合ってるか心配ですが

    <?php global $current_blog; echo $current_blog->blog_id; ?>

    こんな感じで行けました。

    >nobitaさん
    ありがとうございます。
    こちらの環境が悪いのかやはり吐き出さないようで…
    おそらくiPhoneアプリのバグ対処でxmlrpc.phpをいじった辺りが怪しいです。
    何回も丁寧なご回答ありがとうございました。

    >kvexさん

    <?php
    $site_stats = get_sitestats();
    echo $site_stats[‘blogs’];
    ?>

    こちらを試してみましたがブログの個数を吐き出すようです。

    ご回答ありがとうございました。

    さぁ書き込もうと思ったら、解決されたようで^^;
    自己解決されたコードの方が、とてもシンプルでよいですね。

    私のはごちゃごちゃしていますが、せっかくなので書いておきます。

    $this_blog_name = get_bloginfo('name');
    $this_blog_id = 0;
    $my_child_blogs = get_blog_list();
    foreach ( $my_child_blogs as $key => $value ){
      if ( get_blog_option($value["blog_id"], 'blogname') == $this_blog_name ){
        $this_blog_id = $value["blog_id"];
        break 1;
      }
    }
    echo $this_blog_name . 'のブログIDは、' . $this_blog_id . 'です。';

    余談ですが、
    nobitaさんの使われている「get_id_from_blogname()」は、MU独自関数でWP 3.xには含まれていないのではないでしょうか?

    ueさん

    ms-blogs.php に、あるんですけどねぇ~ 私のブログじゃ、動いているんですけどねぇ~

    教えたつもりが、教えられてばっかですね

    使わせていただきますよぉ、$current_blog->blog_id

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「子ブログのIDを取得したい」には新たに返信することはできません。