tecking
フォーラムへの返信
-
フォーラム: テーマ
返信が含まれるトピック: 固定ページ(親ページ)のリンク『monochrome』テーマ、私がダウンロードしたものと js/jscript.js の記述が違っていますね。当方のバージョンは 4.1 ですがkazu1213さんのバージョンは何でしょう?
テーマの配布サイトを見ると 4.0 で大幅な機能追加が行なわれているようなので、その際にテンプレートファイルの class のふり方も変わっているような気がします。
(.menu が .header_menu になったりとか)テーマの旧バージョンがダウンロードできないので、差し支えなければ、kazu1213さんのサイトURLをお知らせいただけると何かヒントを示せるかもしれません。
ともあれ、キモは js/jscript.js と style.css でしょうね。
フォーラム: 使い方全般
返信が含まれるトピック: 特定カテゴリーのみ日付を非表示にしたいdkknmrさん
どういう状況下で、望む「非表示」を実現したいのかを書いていただくと、回答が得られやすくなると思いますよ。たとえば
- リンク付きカテゴリーリストで日付を非表示にしたいのか
- 特定のカテゴリーアーカイブで日付を非表示にしたいのか
といったふうにです。
長くならないようなら、現在試されているコードを示すのもよいかと思います。コードが長くなるならペーストビンも活用してみてください。
《参考》
質問ルールの「フォーラムを利用しやすくするための配慮」の項フォーラム: テーマ
返信が含まれるトピック: 固定ページ(親ページ)のリンクkazu1213さん
お使いのテーマは、親ページAのリンクテキストに parent_menu という class がふられてるようですね。この class はPHPで出力されているのではなく、テーマディレクトリ内の js/jscript.js にて
$(".header_menu ul li:has(ul)").addClass("parent_menu");
という形で、jQueryにて追記されています。
さて、解決法としては二つあるかとおもいます。
1. style.css に追記
style.css の最後にli.parent_menu > a { pointer-events: none; }
と書けば、親ページAのリンクテキストは無効になります。ただ、pointer-events プロパティはIEが対応してないのでもう一つの方法として
2. js/jscript.js に追記
最初に示したコードの次行に以下の1行を追記してみてください。
$(".header_menu ul li:has(ul) > a").removeAttr("href").css("color", "#999");
a タグから href 属性を削除するので文法的には消化不良な方法ですが、a タグごと削除すると style.css を書き換える必要が出てくるので……
フォーラム: 使い方全般
返信が含まれるトピック: カレンダーの縦の列がずれるfumisiroさん
#wp-calendar th と同様、#wp-calendar td にも
#wp-calendar td { text-align: center; }
とすることで解消しませんか?
フォーラム: 使い方全般
返信が含まれるトピック: get_the_term_listをリンクなしで表示する方法を教えてください。お使いのテーマ(Workz)をダウンロードして判明しました。
ちょっと、言葉足らずのところがあって、こちらこそご迷惑おかけしました。1. Arrayの解消
single-portfolio.php の38~47行目あたり
<?php //get terms $terms = get_the_term_list( get_the_ID(), 'portfolio_cats' ); ?> <?php if($terms) { ?> <div id="single-portfolio-meta" class="clearfix"> <?php echo $terms; ?> </div> <?php } ?>
を
<?php $terms = get_the_terms( get_the_ID(), 'portfolio_cats' ); if ( !empty($terms) ) : if ( !is_wp_error($terms) ) : ?> <div id="single-portfolio-meta" class="clearfix"> <?php foreach( $terms as $term ) : ?> <span><?php echo $term->name; ?></span> <?php endforeach; ?> </div> <?php endif; endif; ?>
に、まるっと入れ替えれば解消するかとおもいます。
2. CSSの適用
style.css の692~703行あたり#single-portfolio-meta a{ display: block; float: left; margin-right: 5px; padding: 5px; background: #eee; color: #666; } #single-portfolio-meta a:hover{ background: #fee825 !important; color: #000; }
で背景の四角や背景色を設定しているので、リンクを外しつつ、背景色をつけたい場合は
#single-portfolio-meta a{
を
#single-portfolio-meta a, #single-portfolio-meta span {
といったふうにしてはどうでしょう?
フォーラム: 使い方全般
返信が含まれるトピック: タイトルの順番がうまく変更できません解決したようでなによりです。
WordPressには「フィルターフック」という、テンプレートタグなどの出力文字列をいじることのできる機能があります。『Pilot Fish』テーマではその機能を使って wp_title() の出力にカスタマイズをかけていたので
remove_filter( 'wp_title', 'pilotfish_filter_wp_title' );
で、そのカスタマイズを無効化しました。
いったん無効化すれば wp_title() の出力結果は通常どおりに戻るので、Codexにあるようなコードを title タグに書くことで求める表示が実現できた、というわけです。フィルターフックについて詳しくはCodexをご参照ください。最初のうちは理解しがたいかもしれませんが(私もそうでした……)少しずつマスターしてみてくださいね。
フォーラム: 使い方全般
返信が含まれるトピック: タイトルの順番がうまく変更できませんfumisiroさん
『Pilot Fish』テーマのソースを見たところ includes/scripts.php でフィルターフックを使って wp_title() の書き換えをしているようですね。なので functions.php の最後に
remove_filter( 'wp_title', 'pilotfish_filter_wp_title' );
と追記して wp_title() をデフォルトの挙動に戻したうえで header.php の title タグのあたりを
<title><?php wp_title( '»', true, 'right' ); ?><?php bloginfo('name'); ?></title>
としてはどうでしょうか。
フォーラム: 使い方全般
返信が含まれるトピック: the_categoryでサブカテゴリーを除外したいrqcmtさん
get_the_category() を使って、当該記事のカテゴリーをいったん配列に格納してはどうでしょう? 配列内のオブジェクトにあるプロパティ parent の値で親カテゴリーの有無を判定できるので。拙作のコードで失敬ですが……
<?php $cat = get_the_category(); for ( $i = 0; $i < count($cat); $i++ ) : if ( !$cat[$i]->parent ) : ?> <a href="<?php echo get_category_link( $cat[$i]->cat_ID ); ?>"><?php echo $cat[$i]->name; ?></a> <?php if ( $i < count($cat)-1 ) : ?> > <?php endif; ?> <?php endif; endfor; ?>
ちなみに
<?php if ( $i < count($cat)-1 ) : ?> > <?php endif; ?>
の行は、セパレータ > を表示するためのものです。
必要に応じて a タグの title 属性など追記してくださいね。以上、ご参考までに。
フォーラム: 使い方全般
返信が含まれるトピック: […] このようなマークについてaggryryさん
Codexの the_excerpt「フィルターで […] 文字列の変更・削除」にあるように excerpt_more にフックしてはどうでしょう?
ちなみに excerpt_more は wp-includes/formatting.php にありますよ。
フォーラム: 使い方全般
返信が含まれるトピック: get_the_term_listをリンクなしで表示する方法を教えてください。二つの課題が混在しているので、まずは課題を切り分けましょうか。
1. CSSについて
上記のコードではあくまで表示の骨格だけを示しているので、お使いのテーマのCSSについては考慮しておりません。コード内の ul タグや li タグ、あるいは表示部全体を囲む div タグなどに ID名 single-portfolio-meta を追記する必要があるかとおもいます。2. Arrayについて
配列を直接 echo しようとしていませんか? 上記のコードでいうと<li><?php echo $term->name; ?></li>
を
<li><?php echo $terms; ?></li>
としてしまうと、配列 $terms を直接 echo するかたちとなりページ上では Array と表示されてしまいます。
現状、課題となっている箇所でどのようなコードを書かれていますか? 本トピックは「get_the_term_listをリンクなしで表示する方法」としてスタートしているので、まずは2の解決に向けて進めていきましょう。
フォーラム: 使い方全般
返信が含まれるトピック: get_the_term_listをリンクなしで表示する方法を教えてください。あ、コードがちょっと違ってました。RMVPさんのテンプレートにあてはめるなら
$terms = get_the_terms( get_the_ID(), 'shape' );
は
$terms = get_the_terms( get_the_ID(), 'portfolio_cats' );
が正しいです。失礼しました。
フォーラム: 使い方全般
返信が含まれるトピック: 最新記事から特定タクソノミーの記事を除外したいchamomileさん
Codexの query_posts の項「タクソノミー引数」のコードを参考に試されてはどうでしょう?
‘operator’ => ‘NOT IN’ のパラメータがキモですね。
フォーラム: 使い方全般
返信が含まれるトピック: get_the_term_listをリンクなしで表示する方法を教えてください。> 上記タグをこのような変更でいいのでしょうか?
それでオッケイですよ。
繰り返しになりますが、上で例示したコードではHTMLタグをまったく考慮してないので注意してくださいね。HTMLタグを挿入するのであれば、WordPressループっぽくこんな形で書いてはどうでしょう。
<?php $terms = get_the_terms( get_the_ID(), 'shape' ); if ( !empty($terms) ) : if ( !is_wp_error($terms) ) : ?> <ul> <?php foreach( $terms as $term ) : ?> <li><?php echo $term->name; ?></li> <?php endforeach; ?> </ul> <?php endif; endif; ?>
フォーラム: 使い方全般
返信が含まれるトピック: サイドバーの位置が下に移動している元に戻ったようでなによりです。よかったですね!
ということで、このトピック「解決済み」にして閉じておいてくださいね。
お手数ですが、よろしくおねがいいたします。フォーラム: テーマ
返信が含まれるトピック: 全くオリジナルのテンプレートの作成osamuyaさん
> やはりpage-ID.phpというような作り方でやってゆくのがよいでしょうか?
- page-ID.php より page-slug.php の方が読み込み優先度が高い
- サイトを別環境に移した際に記事IDが変わることがある
という理由で、個人的には page-slug.php で作ることが多いです。
テーマ制作という本筋からはそれますがPHPファイル内で wp-load.php をrequireするという方法もありますね。