pluto1234
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: お問い合わせフォーム安易な方法:
何の飾りもないperlやphpのメールフォームを、お問い合わせ(ページ)のテンプレートに、インラインフレームを使って取り込んでしまう。こうしておくと、デザインの変更があっても、WordPressのデザインとフォーム用のデザインの両方を直すということはせずに済みます。
フォーラム: 使い方全般
返信が含まれるトピック: 一般サイト作成の際、単一ページの作り方恐れ入ります。調子に乗ってもう一言。
WordPress に付いているカスタムフィールドは、いまひとつ使い勝手がよくありません。
他のCMSと比べると「なんじゃこりゃ」のレベルです。
・Custom Field Template
・Get Custom Feild Values
というプラグインを導入することで、初めて威力を発揮します。私の場合、これらのプラグインがなければ、きっとWordPress は使っていません。
一番上で
$cats = get_categories('hide_empty=0');
とすれば全部出てくるとは思いますが、Tree構造にはなりません。
りカーシブに関数を書けば、割とすっきりとプログラムすることができます。が、リカーシブコールの関数を書いたことがないのなら、Dagon Design Sitemap Generator を導入して POST だけを表示するようにした方がてっとり早いと思います。表示が気に食わないときは、HTMLを表示しているところを見つけてPHPを修正してやればOKだと思います。
他にも探せば、もっとピッタリのプラグインがあるかもしれません。
表示にミスがありました。
2)tree_last
カテゴリリンクやポストリンクの最後の<li class="tree">
だけ、tree_last にしてみました。
下のほうの
<?php endif; ?> </li> </ul>
は、
</li> </ul> <?php endif; ?>
であるべきではないでしょうか?
1)リンク
<?php get_category_link($cat->cat_ID) ?> ▼ <?php echo get_category_link($cat->cat_ID) ?>
2)tree_last
カテゴリリンクやポストリンクの最後の- だけ、tree_last にしてみました。
あまり美しくはないですが、$catsや$cat_postsの配列の数を数え、最後の処理だけ tree_last 変更しています。
真剣には見ていませんが、カテゴリのネストがもっと深くなった場合には対処できないような気がします。Dagon Design Sitemap Generator のようなプラグインを使った方が良いのではないでしょうか?
<?php $cats = get_categories('parent=0&hide_empty=0'); $m = count($cats); $c_cnt = 0; foreach ($cats as $cat) : $desc_cats = get_categories('child_of=' . $cat->cat_ID); $desc_cat_ids = array($cat->cat_ID); foreach ($desc_cats as $desc_cat) { array_push($desc_cat_ids, $desc_cat->cat_ID); } $desc_cat_ids_str = implode(',', $desc_cat_ids); $cat_posts = get_posts('category=' . $desc_cat_ids_str . '&numberposts=5&orderby=date&order=DESC'); if ($cat_posts) : ?> <ul> <?php if ($c_cnt==$m-1) : ?> <li class="tree_last"> <?php else : ?> <li class="tree"> <?php endif; ?> <a href="<?php echo get_category_link($cat->cat_ID) ?>"><?php echo($cat->cat_name); ?></a> <ul> <?php $p_cnt = 0; ?> <?php $n = count($cat_posts); ?> <?php foreach ($cat_posts as $post) : setup_postdata($post); ?> <?php if ($p_cnt==$n-1) : ?> <li class="tree_last"> <?php else : ?> <li class="tree"> <?php endif; ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php $p_cnt += 1; ?> <?php endforeach; ?> </ul> <?php endif; ?> </li> </ul> <?php $c_cnt += 1; ?> <?php endforeach; ?>
フォーラム: 使い方全般
返信が含まれるトピック: カテゴリー名&記事タイトルの一覧きれいに奇数が並んでいるので、何かのコピペの残骸だとも思いますが、
category=1,3,5,7,9’が、カテゴリidが1,3,5,7,9だけのポストを表示したいという意図なら、
$args=array(‘orderby’ => ‘name’, ‘order’ => ‘ASC’ , ‘include’ => ‘1,3,5,7,9’);フォーラム: 使い方全般
返信が含まれるトピック: 一般サイト作成の際、単一ページの作り方会社案内は、頻繁に更新されるものではないので、kvex さんの回答が普通のやりかたです。
[まずは、簡単な方から]
>single.phpを複製してabout.phpなどを作り・・
ページのテンプレートを作るときは、index.php を複写します。次に、コメントや投稿者などページには不要な情報を削除したり、パンクズのプラグインを入れたりして page.php を作ります。page.php は、どのページでも一般的に使えるようにしておいた方が何かと便利です。
HTMLはテンプレートに書くのではなく、ページ投稿画面から入力します。テンプレートとして、さきほど作成した page.php を選択します。
※single.php はページではなく、ポスト(投稿)の単一表示用のテンプレートです。[続いて、ちょっとだけ応用編]
><?php if (have_posts()) : while (have_posts()) : the_post(); ?>
>を使い、投稿の部分に記事として作る場合と、
頻繁(時々)に更新され、数も変る「商品」などをページ内に表示したい場合にはこのやり方が妥当だと思います。特にクライアントが商品ページを自分で更新したいと言ったときなどは、ページ内のHTMLを直せとは言えないので、投稿(カテゴリID=10と仮定します)とカスタムフィールドを使って商品情報を入力してもらいます。そして、ページのテンプレートを以下のようにしておくと、商品ページが自動的に更新されます。
※基本的に、自分でquery_postする以外は、category.php と同じような構造です。
—————————————————————
ヘッダー
query_post(‘cat=10’);
WordPress Loop {
タイトル表示(商品名)
内容表示(商品説明)
カスタムフィールドの表示(価格、サイズ、写真など)
}
サイドバー
フッター
—————————————————————[さらに応用編]
商品と同時にページからの投稿も表示した場合
————————————————————
ヘッダ// まずは、ページの投稿内容
WordPress Loop {
ページの投稿内容表示
}// 続いて商品一覧を表示
query_post(‘cat=10’);
WordPress Loop {
タイトル表示(商品名)
内容表示(商品説明)
カスタムフィールドの表示(価格、サイズ、写真など)
}サイドバー
フッター
—————————————————————必ずしも、これがベストという訳ではありませんが、私の場合はこんな感じです。
フォーラム: プラグイン
返信が含まれるトピック: pagebarをページで使用したいpagebar は、複数のポスト(投稿)を10個ずつとかに分割して表示するものです。40個ポストがあれば、4ページできるはずです。
「ページ」はそもそも一つの「ポスト」ですので分割しようがありません。
[通常のエントリーは無事表示できています]
[ひとつのページでは途中で改ページを入れて・・]
これは、
・全ブログの表示
・カテゴリの表示
・月別アーカイブの表示
・検索結果の表示
・タグの表示
のいずれかの場合だと思います。いずれも、複数のポストが表示される場合です。pagebar は
・ページ
・ポストの単一表示(通常はsingle.phpがテンプレート)
の時には意味をなしません。フォーラム: テーマ
返信が含まれるトピック: theme/images の中にある画像を投稿画像に入れたいすいません。タイトルは「theme/imagesの中・・」でしたね。
[投稿記事]
テンプレートと同じで良いが、runPHPなどのプラグインを導入する。
<img src=”<?php bloginfo(‘template_directory’);?>/images/ああああ.jpg” height=”120″ width=”400″ title=”” alt=”ああああの画像” />
です。フォーラム: テーマ
返信が含まれるトピック: theme/images の中にある画像を投稿画像に入れたいindex.php と同じところにimages フォルダがあるとします。
/-+-index.php
+-images/あああ.jpgテンプレートに記述するなら、
<img src=”<?php bloginfo(‘url’);?>/images/ああああ.jpg” height=”120″ width=”400″ title=”” alt=”ああああの画像” />
で良いと思います。投稿記事に記述するなら、
1.絶対パスで指定
<img src=”http://hogehoge.com/images/ああああ.jpg” height=”120″ width=”400″ title=”” alt=”ああああの画像” />2.ドキュメントルートからのパスで指定
<img src=”/images/ああああ.jpg” height=”120″ width=”400″ title=”” alt=”ああああの画像” />3.bloginfo(‘url’)で指定
<img src=”<?php bloginfo(‘url’);?>/images/ああああ.jpg” height=”120″ width=”400″ title=”” alt=”ああああの画像” />
通常、投稿画面にPHPは書けないので、runPHPなどのプラグインを導入する必要があります。
また、<?php を含む記事を Visual Editor で読み込むとグジャグジャになりますので、プロフィールで「ビジュアルリッチエディターを使用しない」にチェックしておいた方が無難です。フォーラム: 使い方全般
返信が含まれるトピック: 既存のサイトにWPを組み込む方法ちょっと違います。
xxx.com/wp/index.php のときは、
require(‘./wp-blog-header.php’);
となっているはずなので、
xxx.com/index.php に移動したときは、
require(‘./wp/wp-blog-header.php’);
に修正します。フォーラム: 使い方全般
返信が含まれるトピック: 既存のサイトにWPを組み込む方法4)index.php、.htaccess をドキュメントルートに移動する。
xxx.com/wp/index.php
xxx.com/wp/.htaccess
▼
xxx.com/index.php
xxx.com/.htaccessとし、パスの修正も必要です。
[index.php]
/** Loads the WordPress Environment and Template */
require(‘./wp/wp-blog-header.php’); /* 修正 */[.htaccess]
RewriteBase / <= RewriteBase /wp/
RewriteRule . /index.php [L] <= RewriteRule . /wp/index.php [L] - だけ、tree_last にしてみました。