3行目でエラーになってしまい、
その3行目には $wpdb
がありますが、これをグローバル宣言してないからじゃないでしょうか。もし「 Call to a member function set_blog_id() on a non-object….」とかのエラーであれば、それが理由です。2行目と3行目の間に
global $wpdb;
を入れてみてください。
PC のテンプレートの場合、偶然どこかで $wpdb のグローバル宣言がされていたのでしょう。
<p><?php echo mb_substr(strip_tags($post->post_content), 0, 100);?> [...]</p>
これだと the_content
フィルターを通してないため、ショートコードが含まれている場合など、それが反映されないので、いまいちです。PC の場合は get_the_excerpt()
の結果を 100 文字で切った方がよいです。Ktai Style 1.60 以降ならば、ks_excerpt(100);
で100バイトで切ることが可能です。
<p class="update"><?php echo date('Y年n月j日', strtotime($post->post_date));?></p>
これも、単純に <?php the_time('Y年n月j日);?>
で済みます。
lilyfan様
ありがとうございます。
コードに変更を加えて、下記のようにし、defaultテーマのpage.phpに埋め込んでみたところ、
—————
<?php
global $wpdb;
$wpdb->set_blog_id(4);
query_posts(‘cat=5&showposts=3&post_status=publish’);
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
<p><?php the_date(); ?></p>
<?php endwhile; endif; ?>
—————
とりあえず、意図したように3件の子ブログのニュースが表示されるようになりました。
ここで、2つできないことがあって、悩んでいます。
1つめは、投稿へのリンクをつけたいのですが、そのコードがつけられません。
そして2つめですが、
例えば、page.phpに入れると、全体で下記のようなソースになったのですが、
—————
<?php ks_header();
global $ks_settings;
?>
<!–start paging–>
<?php if (have_posts()) : the_post(); ?>
<div<?php echo $ks_settings[‘h2_style’]; ?>><h2><?php the_title(); ?></h2></div>
<?php ks_content(__(‘(more…)’)); ks_link_pages();
ks_posts_nav_link(‘ | ‘, ‘<hr /><div align=”center”>’, ‘</div>’);
else: ?>
<h2><?php _e(‘Not Found’, ‘ktai_style’); ?></h2>
<p><?php _e(‘Sorry, no posts matched your criteria.’); ?></p>
<?php endif; ?>
<?php ks_footer(); ?>
<?php
global $wpdb;
$wpdb->set_blog_id(4);
query_posts(‘cat=5&showposts=3&post_status=publish’);
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
<p><?php the_date(); ?></p>
<?php endwhile; endif; ?>
—————
ここで、後半の子ブログの記事を読み込む部分を前に持っていこうとしたら、本来表示されるべき親ブログのページ記事が、表示されず、子ブログの先頭の1件の記事が表示されてしまいます。
global $wpdb;
$wpdb->set_blog_id(4);
この部分を複製して、
global $wpdb;
$wpdb->set_blog_id(1);
に変更して前においてみたりもしたのですが、だめでした(><;)
このページでは、GOOGLEの地図と子ブログのニュース3件を表示させて固定ページにしようと思っているのですが、ニュースは地図の表示よりも前に表示させたいのです。。。
けれど、ソースの順番を入れ替えると地図が消えてしまいました・・・
何か良い方法はないでしょうか?(T_T)
>ks_excerpt(100); で100バイトで切ることが可能です
ありがとうございます!やってみます!!