フォーラムへの返信

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック投稿者 Tadayuki

    (@tadayuki)

    見つかりました!ありがとうございます。

    フォーラム: 使い方全般
    返信が含まれるトピック: 他ページのカスタムフィールドの値を表示する
    トピック投稿者 Tadayuki

    (@tadayuki)

    ありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: 他ページのカスタムフィールドの値を表示する
    トピック投稿者 Tadayuki

    (@tadayuki)

    shokun0803さん、いつもありがとうございます。
     1については、じかにphpを書き込んでいます。具体的には
     Aページではlinktitle,linkurl,linksitename,linkdate,linkarticleといったカスタムフィールドを作り、記事部分に下記コードをいれて表示させています。

    <p>本文</p>
    <div><?php echo post_custom('linktitle') ?> - <a href="<?php echo post_custom('linkurl') ?>" target="_blank">
    <?php echo post_custom('linksitename') ?></a>:<?php echo post_custom('linkdate') ?></div>
    <blockquote><p><?php echo post_custom('linkarticle') ?></p></blockquote>

     Bページでは、ショートコードを使っていますが、そのコードは

    function sc_post_tag($atts, $content = null) {
    global $post;
    
    $cur_tag[] = get_the_tags();
        extract(shortcode_atts(array(
        'num' => 10,
        'tagname' => $cur_tag[0]->name,
        'format' => 'Y/m/d'
        ), $atts));
    
    $myposts = get_posts('numberposts=' . $num . '&order=DESC&orderby=post_date&tag=' . $tagname);
    $retour='<ul>';
    foreach ($myposts as $post) :
    setup_postdata($post);
    $quotedate = get_post_meta( $post->ID , 'linkdate' , true );
    $retour.='<p><div class="tagnews"><a href="'.get_permalink().'">'.the_title("","",false).'</a>'.$quotedate.'</div>'.get_the_content().'</p>';
            endforeach;
            $retour.='</ul> ';
            return $retour;
    }
    
    add_shortcode('post_tag', 'sc_post_tag');

    としていて、
    ためしに上記のように$quotedate = get_post_meta( $post->ID , ‘linkdate’ , true ); を入れて、quotedateを表示すると、Aの文章のカスタムフィールド内のlinkdateを引っ張ってきています。
     A記事以外にいくつかの記事をループして取り込み表示することもできています。

     前の書き込みにも書いたようにthe_content()でも表示できたので、get_the_content()で表示できるかな(横着ですね・・・)と思ったのですが、get_post_metaで個別に値を持ってきたほうがよいのでしょうか。

    フォーラム: 使い方全般
    返信が含まれるトピック: 他ページのカスタムフィールドの値を表示する
    トピック投稿者 Tadayuki

    (@tadayuki)

    分かりづらくて申し訳ありません。

     引用元の記事で、記事内にカスタムフィールドを表示するようにしています。

     例:
     Aページ
     記事 「あああ」
     カスタムフィールド 「いいい」として、
     記事には「あああいいい」と表示されるようにしています。

     BページでAページをsetup_postdata($post)したあとに、echo the_content()でAページの内容を表示すると、「いいいあああ」と表示されてしまいます。しかし「いいい」も表示されるのですが表示のコントロールができません。
     そこでget_the_content()を利用して表示しようとしたのですが、あああ しか表示されません。
     the_content()でいいいが表示されるということは、get_the_content()でもいいいが表示されると思うのですが、違うのでしょうか?

     複雑で申し訳ありません。

    トピック投稿者 Tadayuki

    (@tadayuki)

    なるほど、試してみたいと思います。結果などまた書き込みます。
    いろいろありがとうございました!勉強になります。

    トピック投稿者 Tadayuki

    (@tadayuki)

    shokun0803さん、いつも教えていただきありがとうございます。

     何をやりたかったのかというと、METAタグや、タグの共有、カテゴリの共有をしたかったのです。
    例えば

     ○既存phpページ:ドラえもんのページに「ドラえもん」タグを
     ○wordpress記事:ドラえもんのニュースにも「ドラえもん」のタグを入れる
     この状態で、wordpressで「ドラえもん」タグを開くと、両方のページが表示される
      または
     wordpressの「ドラえもん」カテゴリを開くと、既存php、wordpressの両方のページが開く

     という感じです。なのでaかbかで言うとbになるのかと思っていました。

     しかし、aの「wp-load.phpのインクルードで解決?」も知らなかったので、ありがたかったです!
    この質問この質問で調べてみて勉強しました。
     既存phpのページでwordpress側のタグをひっかけて表示する事は出来そう、ただしwordpress側のページから、既存phpのタグをひっかけるのは難しそうですね。

    トピック投稿者 Tadayuki

    (@tadayuki)

     LVP8さん、Shokun0803さん、umbrella_processさんありがとうございました。できました!
    get_the_tags()が配列と書いてあったのですが、配列ではないみたいですね。
     ご指摘のように記事タイトルなども読み込んで表示するように、いろいろ調べてみます!

     本当にありがとうございました。

    トピック投稿者 Tadayuki

    (@tadayuki)

    umbrella_processさんありがとうございます。
    説明が足りなくてすみません。上のコードは改修前のもので、実際には下のようにやってみました。ただこれだと、

    1.Warning: array_shift() [function.array-shift]: The argument should be an array in・・・が表示されてしまう
    2.記事しか表示されない

    となります。

    function sc_post_list($atts, $content = null) {
    global $post;

    $cur_tag = array_shift(get_the_tags());
    extract(shortcode_atts(array(
    ‘num’ => 5,
    ‘tagname’ => $cur_tag->name,
    ‘format’ => ‘Y/m/d’
    ), $atts));

    $myposts = get_posts(‘numberposts=’ . $num . ‘&order=DESC&orderby=post_date&tag=’ . $tagname);
    $ret = ”;

    foreach ($myposts as $post) {
    setup_postdata($post);

    $content_txt = get_the_content();

    // 改行を反映
    $content_txt = preg_replace(“/\n/”,”
    “,$content_txt);

    $ret .= $content_txt;
    }
    return $ret;
    }
    add_shortcode(‘post_list’, ‘sc_post_list’);

    フォーラム: プラグイン
    返信が含まれるトピック: 複数のページ(投稿)に同じ記事を一括で追加
    トピック投稿者 Tadayuki

    (@tadayuki)

    shokun0803さん、ありがとうございました。表示をすることができました!

     なぜページの中に表示させたいかというと、twitterやfacebookといったカテゴリが実際には非常に多くなってしまうので、カテゴリではなくページでできないかな、と思っていました。これだと、カテゴリ自体はそれぞれ作らなければいけないですね。

     なのでカテゴリではなくタグを使い、特定のタグが付いている記事を1ページ内に表示するショートコードを探して作ってみようと思います。
     (もしどこかにあれば教えてください!!)

     初心者ですみません、ありがとうございました!

9件の返信を表示中 - 1 - 9件目 (全9件中)