フォーラムへの返信

15件の返信を表示中 - 31 - 45件目 (全193件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: カテゴリの新規追加で起きたトラブルについて

    パンくずリストの実装はどんなコードですか?

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿者毎に異なるコンテンツを表示したい。

    ですね ^^;
    @gblsm さん、ありがとうございます!

    カテゴリー「A」と「B」は親カテゴリーですよね。
    すると、

    $parent_id = $cat_current->category_parent;

    ここでは $parent_id0 になり

    $child_category = get_term_children($parent_id, 'category');

    ここは子カテゴリーが取得できず、$child_category には空の配列が代入されます。
    つまり以降の foreach は全く機能していないことになりますね。
    そうなると $categories_num は未定義の変数となり、query_posts の引数は cat=&child_of=0 となりほとんど何もしていないような状態になるかと思われます。

    子カテゴリーa,b,cでの表示はまた別の対応が必要だと思いますが、カテゴリーA,Bでの表示だけを考えると、

    <?php
      $cat_current = get_queried_object();
      $parent_id = $cat_current->term_id; // ←ここ
      $child_category = get_term_children($parent_id, 'category');
      foreach ($child_category as $key => $value) {
        $child_category_name = get_category($value)->slug;
        if($child_category_name != 'template' && $child_category_name != 'example') {
          $categories_num = $value; // 微修正
          break; // 微修正
        }
      }
      query_posts('cat=' . $categories_num . '&child_of=' . $parent_id);

    でうまくいくのでは?(未検証です)

    get_the_category() 関数は、特定の投稿のカテゴリーを取得します。
    頂戴したコードですと、おそらく一番目の投稿が属するカテゴリーを取得することになるでしょう。(通常ループ内で使用しますね)
    テンプレートタグ/get the category – WordPress Codex 日本語版

    現在アーカイブ表示されているカテゴリーを取得するには get_queried_object() を使ったほうがいいと思います。

    <?php
      // $cat = get_the_category();
      // $cat_current = $cat[0];
      $cat_current = get_queried_object();

    関数リファレンス/get queried object – WordPress Codex 日本語版
    参考: WordPress : get_queried_object()の返り値のまとめ | notnil creation weblog

    あと色々ありそうですが、実装したい内容がまだよく理解できていないのでまた後で見なおしてみます。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿者毎に異なるコンテンツを表示したい。

    例えば、
    Aユーザー(ID=userA)の投稿ページには「よろしくお願いします」
    Bユーザー(ID=userB)の投稿ページには「こんにちは」
    Cユーザー(ID=userC)の投稿ページには「ありがとうございました」

    と表示を切り替えるにはどのようにすれば良いのでしょうか。

    <?php
    /**
     * sidebar.php
     */
    if ( is_single() ) {
    	$user_id    = get_the_author_meta( 'ID' );
    	$user_data  = get_userdata( $user_id );
    	$user_login = $user_data->user_login;
    	if ( $user_login === 'userA' ) {
    		echo 'よろしくお願いします';
    	} else if ( $user_login === 'userB' ) {
    		echo 'こんにちは';
    	} else if ( $user_login === 'userC' ) {
    		echo 'ありがとうございました';
    	}
    }

    get_the_author_id() 関数は非推奨になっているようなので get_the_author_meta( 'ID' ) を使いました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿者毎に異なるコンテンツを表示したい。

    取得した後はどのように条件指定をすれば良いのでしょうか。

    さすがにそれはどういう条件で表示を変えるか教えていただかないと無理なのでは…?

    関数リファレンス/get ancestors – WordPress Codex 日本語版

    上記関数を使えば得られた配列を元に実装できるのではないでしょうか。
    タグを階層化している、という汎用性のない状況なのでこの程度で。

    タグに階層構造はなく、親子関係は存在しないはずなのですが…?

    https://github.com/WordPress/WordPress/blob/4.3-branch/wp-includes/taxonomy.php#L69

    なので、

    $oyaterm = array_pop(get_the_terms($post->ID, 'post_tag'));
    $term_p = $current_tag->parent;

    ($current_tag$oyaterm の誤りであるとするなら) $term_p は、おそらく常に0 になります。

    以下、PHP構文上のお話ですが、

    if ( ! $term_p == 0 ){

    $term_p0 でない場合、ということを検証したいのであれば、

    if ( $term_p != 0 ){

    が普通かな、と思いました。

    PHP: 比較演算子 – Manual
    PHP: 論理演算子 – Manual

    フォーラム: 使い方全般
    返信が含まれるトピック: 自作ショートコードへの関連付けについて

    広告管理の管理ページはちゃんと作成できているようです。

    $ad_url = get_option( 'ad_url' );

    で管理画面で入力した内容を取得できるので、あとはそれをどう表示するか showads 関数の中で組み立てるだけだと思いますよ。

    // 例
    function showads() {
    	$ad_url = get_option( 'ad_url' );
    	$html = '<a href="' . esc_url( $ad_url ) . '">広告</a>';
    	return $html;
    }

    広告コードがどういうものなのか、入力されるものはURLなのか、それとも一意の文字列なのか、さらに表示したいものがどういう形式なのか、といった事がわからないので、また、WordPress の質問とも離れることなので、あとはご自分で工夫していただくべきことだと思います。

    助言できることしては、

    register_setting( 'ad-settings-group', 'ad_url' );

    について。
    register_setting 関数は第三引数で、入力された値の無蓋化をする関数を指定できます。
    関数リファレンス/register setting – WordPress Codex 日本語版

    例えば、保存されるべき値がURLである場合は、

    register_setting( 'ad-settings-group', 'ad_url', 'esc_url_raw' );

    とすれば、安全なURL文字列として保存されます。(文字列がURLとしての安全ということであって、リンク先が安全なページ、ということではありません。)
    参考: データ検証 – WordPress Codex 日本語版

    wp_enqueue_style の第一引数は有効なスタイルシートのハンドルでないと意味がありません。

    wp_enqueue_style('');

    上記コードは、読む込むスタイルシートがないのであれば記述する必要はないでしょう。

    また、第二引数はスタイルシートのパスではなくURLです。さらに子テーマということなので、

    // wp_register_style('style', get_bloginfo('template_directory').'/../prose/style.css');
    wp_register_style('style', get_stylesheet_directory_uri() . '/style.css');

    が適当です。

    関数リファレンス/wp enqueue style – WordPress Codex 日本語版#パラメータ

    あと、add_stylesheet 関数のフック先が違います。wp_register_style 関数を実行するので

    // add_action('wp_print_styles', 'add_stylesheet');
    add_action('wp_enqueue_scripts', 'add_stylesheet');

    としてください。

    Function Reference/wp register style « WordPress Codex#Usage
    (今見たら、日本語Codexの wp_register_stylewp_enqueue_style の内容になっていますね… >> 関数リファレンス/wp register style – WordPress Codex 日本語版

    なお、有料テーマについては検証ができません。販売元への問合せをお願いすることになりますのでそちらもあらかじめご留意ください。

    フォーラム: プラグイン
    返信が含まれるトピック: カスタムフィールドテンプレートで画像を選択

    まったくお勧めできない、かつ検証していないので駄目かもしれませんが、思い切って

    [Favorite Fruits]
    type = radio
    value = <img src="/fruits/apple.gif"> # <img src="/fruits/orange.gif"> # <img src="/fruits/banana.gif"> # <img src="/fruits/grape.gif">

    として、ドメイン直下に fruits ディレクトリーを作り、その中に画像を格納すれば実現できるかもしれませんね…

    実現できたとしても、逆に表示するときに工夫をしなければいけないので最初に言ったようにお勧めできません。

    フォーラム: プラグイン
    返信が含まれるトピック: カスタムフィールドテンプレートで画像を選択

    Custom Field Template プラグインを使用した場合、私で回答できる範囲としては難しいです。
    というか、やりたくないです…

    スタイルシートで無理やり実現しようとすると、

    まず前提。
    テンプレートは下記とします。また、投稿タイプは post(投稿)とします。

    [Favorite Fruits]
    type = radio
    value = apple # orange # banana # grape

    functions.php に記述する内容は、

    add_action( 'admin_print_styles', 'cft_favorite_fruits_radio_style' );
    function cft_favorite_fruits_radio_style() {
    	global $pagenow, $post_type;
    	if ( ! in_array( $pagenow, array( 'post.php', 'post-new.php' ), true ) ) {
    		return; // 投稿、または新規投稿画面でなければここで終わり
    	}
    	if ( $post_type !== 'post' ) { // 投稿以外の場合は適宜変更してください
    		return; // 対象の投稿タイプでなければここで終わり
    	}
    	echo <<<EOF
    <style>
    /* ここにスタイルを記述していきます */
    </style>
    EOF;
    }

    といった感じでしょうか。
    スタイルの記述についてはネット上にリソースはいっぱいあると思うのでお調べください。

    前提のテンプレートの場合、ラジオボタンを囲む label 要素は、

    label[for^="favorite_fruits_"] {}         /* 全ての label */
    label[for="favorite_fruits_apple_0_0"] {} /* アップル */

    といったセレクタで指定できました。(実際は、ブラウザの開発ツールなどで確認してください。)

    あくまで私が回答できる範囲ですが、これなら、add_meta_box 関数を使って一から実装したほうが楽だな、と思いました。
    たぶんラジオボタンのスタイルシートをあれこれするのを調べるのと変わらない程の労力で実装できるようになりそうな気がします。
    一度挑戦してみてはいかがでしょうか。

    フォーラム: プラグイン
    返信が含まれるトピック: カスタムフィールドテンプレートで画像を選択

    Custom Field Template のソースを覗いてみましたが、フォームのカスタマイズに関してはなかなか手強そうなだな…という印象を受けました。

    現状、なにか試みられたことはありますか?

    ご質問の要件ですと、正直、プラグインを使わずに自分で実装した方が楽そうだな、と…

    フォーラム: プラグイン
    返信が含まれるトピック: カスタムフィールドテンプレートで画像を選択

    すみませんが、何をして、いまどういう状態なのか、といった情報が全く無いので回答のしようがありません。
    参考にしたトピックの内容についてはトライされたんですよね?

    the_content にあって、get_the_content にないものがあります。下記エントリーでわかりやすく説明されていますよ。

    WordPressでget_*()を使うときは念のためソースを確認して適切に処理すべし! | Firegoby

15件の返信を表示中 - 31 - 45件目 (全193件中)