LVP8
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページで投稿記事一覧を取得したいecho esc_url( get_permalink($p->ID) )
フォーラム: 使い方全般
返信が含まれるトピック: 記事が属するカスタム分類によってテーブルを表示したいうわっ…
フォーラム: 使い方全般
返信が含まれるトピック: 記事が属するカスタム分類によってテーブルを表示したい3.1 から has_term() が使えます。
single78さんが作ったタクソノミが「mycat」だとして、<?php if ( has_term('cat1', 'mycat') ) { ?> TABLE 1 <?php } elseif ( has_term('cat2', 'mycat') ) { ?> TABLE 2 <?php } ?>
でどうでしょう。
フォーラム: 使い方全般
返信が含まれるトピック: 記事が属するカスタム分類によってテーブルを表示したいごめんなさい、間違えました。
フォーラム: マルチサイト
返信が含まれるトピック: バージョン3.1にすると、カテゴリーのURLが変わる。「WP No Category Base」に乗り換えてみては?
最近アップデートも行われていますし、3.1 でも問題を感じませんよ。プラグインの新規追加で検索を。
あっ、マルチサイトでは試してません…。
フォーラム: テーマ
返信が含まれるトピック: タクソノミーを一覧にする時に自由に並び替えをしたいget_terms() は order と orderby の設定ができるので、soraiさんの記事内にあるパラメータで出力順を調整できます。
$terms = get_terms($taxonomy_name, array( 'orderby' => $terms->count, 'order=DESC'));
それ以外の何かで並べ替えしたい、ということでしょうか?
うわっ、jim912さんとかぶってしまった・・・
フォーラム: 使い方全般
返信が含まれるトピック: 現在使用されているテンプレートファイルの判別print_rで出力しているところをみると
print_rに特別意味はないです。返り値を調べる時のものをそのままコピペしました…
フォーラム: 使い方全般
返信が含まれるトピック: 現在使用されているテンプレートファイルの判別ファイル名の取得だと不都合がありました。
ちょっと調べたら、グローバル変数 $template にセットされてますね。
print_r($template);
フォーラム: 使い方全般
返信が含まれるトピック: 現在使用されているテンプレートファイルの判別WPで関数が用意されていそうですけど、PHPの定数で取得できますよ。
<?php basename(__FILE__); ?>
ただ、header.php 内で実行すると header.php、loop-single.php 内で実行すると loop-single.php が返り値となります。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿のsingleページ内を条件分岐させたいシングルページの場合はこちらを
get_the_termsフォーラム: 使い方全般
返信が含まれるトピック: 投稿記事の中でquery_postsで取得したアーカイブでページ送りshimodarさん /page を省いて
http://www.ほげほげ.jp/news/23.html/2
でアクセスしてみてください。フォーラム: 使い方全般
返信が含まれるトピック: カスタムタクソノミーのアーカイブページで404エラータクソノミーの名前を変える場合、データベースの名前も変えないといけないですね。
***_term_taxonomy テーブルの taxonomy名前を変えずに条件分岐でテンプレートを振り分けるサンプルです(未検証)。
taxonomy-publications-cat.php を tax-publications-cat.php などにリネーム
<?php // taxonomy.php の先頭 $terminfo = get_queried_object(); if ( $terminfo->taxonomy === 'publications-cat' ) { return include(TEMPLATEPATH . '/tax-publications-cat.php'); } ?>
フォーラム: 使い方全般
返信が含まれるトピック: カスタムタクソノミーのアーカイブページで404エラーアーカイブページの表示で404エラー
ここが引っかかるので、もしかしたら見当違いかもしれませんが気付いた点を。
タクソノミーのテンプレートは、
taxonomy-{タクソノミー名}-{ターム名}.php
となるので、taxonomy-publications-cat.php の場合は、publications というタクソノミーの cat というターム にそのテンプレートが適用されます。
デフォルトの taxonomy.php で条件分岐を加えテンプレートをinclude させることも可能ですが、publications_cat など、名前の変更をされたほうがいいかもしれません。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿のパーマリンクを、デフォルトの投稿と同じ構造にしたい・既存の投稿(post)とカスタム投稿で別々の rwrite_rule がつくられるので、同じにするとダブってしまうことになるので、まったく同じ構造にするのは無理だと思います。(多分)
なので、URLは生成できても404を返すのは、既に登録されているルールを元に、当該URLの “post” を探しに(?)行っているからだと思われます。(恐らく)
何らかの接続語(ポストタイプの名前など)を加えれば問題ないはずです。(場所はどこでも)
/post_type_name/%year%/%monthnum%%day%%hour%%minute%%second%.html ┗ http://example.com/sample/2011/0215175645.html
解決策があるかもですけど(あったら僕も知りたい)、もしURLの形式にこだわるなら、カテゴリーなどで分けたほうが無難です。
フォーラム: 使い方全般
返信が含まれるトピック: 遷移元でテンプレートを変えたい遷移元(リファラ)をチェックしてあげればよさそうです。(以下未検証)
A案
<?php // single.php の先頭 if ( isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'http://example.com/new' !== false ) { return include(TEMPLATEPATH . '/single-new.php'); } ?>
B案
// アーカイブ NEW の the_pemalink() を変更 // パラメータを追加して、「http://example.com/******?ref=new」とする <a href="<?php echo esc_url(add_query_arg('ref', 'new', get_permalink())); ?>"> <?php // single.php の先頭 if ( isset($_GET['ref']) && 'new' === $_GET['ref'] ) { return include(TEMPLATEPATH . '/single-new.php'); } ?>
A案のほうが手軽ですが、ユーザーの環境によってリファラーを取得できない場合もあります。
B案は、異なるアドレスで同一コンテンツへリンクすることになるので、「rel=”canonical」でURLを正規化したり、Google ウェブマスターツールから 「?ref=new」パラメーターを無視するような設定をされた方がいいかと思います。
なお、the_pemalink() 部分は JavaScript を利用してレンダリング後にを書き換える、という方法も考えられます。