質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.32%

  • PHP

    21359questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    17549questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • WordPress

    7677questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • HTML5

    4307questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    2215questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

[wordpress] $html .= '<li>日付が入ります。</li>'; の日付が入ります。の部分に投稿日を表示させたい。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 93

MNZ

score 21

wordpress初心者です。
現在他の方が書いたwordpressサイトを改修しているのですが、
投稿日を表示させるのがうまくいかずにハマっています。

具体的には
$html .= '<li>日付が入ります。</li>';
の日付が入ります。部分に 2018/10/14のように投稿日を表示させたいのですが、
このような書き方だと<?php the_time('Y/m/d'); ?>が反応せずに困っております。

$html .= '<li><?php the_time('Y/m/d'); ?></li>'; だとphpが反映されないので、
書き方をご存知な方がおりましたら、教えていただけますと幸いです。

何卒よろしくお願い致します。

なお具体的なコードは以下になります。

more-disp.php

<?php

require_once("../../../wp-load.php");
require_once("../../../wp-config.php");
$now_post_num = $_POST['now_post_num'];
$get_post_num = $_POST['get_post_num'];
$next_now_post_num = $now_post_num + $get_post_num;
$next_get_post_num = $get_post_num + $get_post_num;

$sql = "SELECT $wpdb->posts.ID FROM $wpdb->posts WHERE $wpdb->posts.post_type = 'post' AND $wpdb->posts.post_status = 'publish' ORDER BY $wpdb->posts.post_date DESC LIMIT %d, %d";
$pre = $wpdb->prepare($sql,$now_post_num,$get_post_num);
$results = $wpdb->get_results($pre);

$next_pre = $wpdb->prepare($sql,$next_now_post_num,$next_get_post_num);
$next_results = $wpdb->get_results($next_pre);

$noDataFlg = 0;
if ( count($results) < $get_post_num || !count($next_results) ) {
    $noDataFlg = 1;
}

$html = "";

foreach ($results as $result) {
    $custom_fields = get_post_custom($result->ID);
    $categories = get_the_terms($result->ID, "category");

    $html .= '<div class="news">';
    $html .= '<a href="http://example.jp/'.$categories[0]->slug.'/p='.$result->ID.'.html" class="bwWrapper"><img src="'.$custom_fields['display_image'][0].'" alt="'.$custom_fields['display_title'][0].'"></a>';
    $html .= '<div  class="txtarea"><a href="http://example.jp/'.$categories[0]->slug.'/p='.$result->ID.'.html">';
    $html .= '<ul class="clearfix">';
    $html .= '<li>'.$custom_fields['display_number'][0].'</li>';
    $html .= '<li>'.get_the_time('Y/m/d').'</li>';
    $html .= '</ul>';
    $html .= '<h3>'.$custom_fields['display_title'][0].'</h3>';
    // $html .= '<h3><a href="http://example.jp/'.$categories[0]->slug.'/p='.$result->ID.'.html">'.$custom_fields['display_title'][0].'</a></h3>';
    // $html .= '<a href="http://example.jp/'.$categories[0]->slug.'/p='.$result->ID.'.html">'.$custom_fields['display_text'][0].'</a>';
    $html .= '</a></div>';
    $html .= '</div>';
}

$returnObj = array();
$returnObj = array(
    'noDataFlg' => $noDataFlg,
    'html' => $html,
);
$returnObj = json_encode($returnObj);

echo $returnObj;

?>

JS

<script type="text/javascript">
    var now_post_num = 6; // 現在表示されている数
    var get_post_num = 6; // 一度に取得する数

    $("a#more_disp").on("click", function() {
        $.ajax({
            type: 'post',
            url: '<?php bloginfo('template_url'); ?>/more-disp.php',
            data: {
                'now_post_num': now_post_num,
                'get_post_num': get_post_num
            },
            success: function(data) {
                now_post_num = now_post_num + get_post_num;
                console.log(data);
                data = JSON.parse(data);
                console.log(data);
                $(".post-list").append(data['html']);
                $('.bwWrapper').BlackAndWhite();
                if (data['noDataFlg']) {
                    $("#more_disp").remove();
                }
            }
        });
        return false;
    });
</script>

function.php

add_action('admin_menu', 'add_custom_fields');
add_action('save_post', 'save_custom_fields');
function add_custom_fields() {
  add_meta_box( 'my_sectionid', '表示用追加項目', 'my_custom_fields', 'post');
}
function my_custom_fields() {
  global $post;
  $display_image = get_post_meta($post->ID,'display_image',true);
  $display_number = get_post_meta($post->ID,'display_number',true);
  $display_title = get_post_meta($post->ID,'display_title',true);
     $display_text = get_post_meta($post->ID,'display_text',true);
  echo '<p>表示するサムネイルの画像パス<br>';
  echo '<input type="text" name="display_image" value="'.esc_html($display_image).'" size="60" /></p>';
  echo '<p>表示するナンバー<br>';
  echo '<input type="text" name="display_number" value="'.esc_html($display_number).'" size="60" /></p>';
  echo '<p>表示するタイトル<br>';
  echo '<input type="text" name="display_title" value="'.esc_html($display_title).'" size="60" /></p>';
  echo '<p>表示するテキスト<br>';
  echo '<input type="text" name="display_text" value="'.esc_html($display_text).'" size="60" /></p>';
}
function save_custom_fields( $post_id ) {
  if(!empty($_POST['display_image']))
    update_post_meta($post_id, 'display_image', $_POST['display_image'] );
  else delete_post_meta($post_id, 'display_image');
  if(!empty($_POST['display_number']))
    update_post_meta($post_id, 'display_number', $_POST['display_number'] );
  else delete_post_meta($post_id, 'display_number');
  if(!empty($_POST['display_title']))
    update_post_meta($post_id, 'display_title', $_POST['display_title'] );
  else delete_post_meta($post_id, 'display_title');
  if(!empty($_POST['display_text']))
    update_post_meta($post_id, 'display_text', $_POST['display_text'] );
  else delete_post_meta($post_id, 'display_text');
}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2018/10/14 15:49

    質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、例示用ドメインはご自身で所有されていない限り example.com, example.jp, example.co.jp など例示用に予約されたドメイン名を利用してください。 http://www.atmarkit.co.jp/fwin2k/win2ktips/801exampledom/exampledom.html https://blog.jxck.io/entries/2017-09-27/example-local-test-domains.html https://blog.ko31.com/201304/sample-domain-example/

    キャンセル

  • MNZ

    2018/10/14 15:59

    こちら失礼いたしました。修正させていただきました。

    キャンセル

回答 1

checkベストアンサー

0

$html .= '<li>'.get_the_time('Y/m/d').'</li>';

【get_the_time() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/get_the_time/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/14 15:33

    ありがとうございます!
    こちら打ってみたのですが、何も表示されませんでした。echoとかが必要になってくるのでしょうか。。

    キャンセル

  • 2018/10/14 15:39

    「具体的なコード」はどこにどのように書かれているのでしょうか。少なくとも$htmlを出力しなければ何も表示されません。

    キャンセル

  • 2018/10/14 15:45

    すみません、該当するコード周辺のコードを書かせていただきました。(そちらが具体的なコードという意味でした汗)
    phpで描くときも<?php echo get_the_time('Y/m/d'); ?>と書かないと投稿日は出ないと思うのですが、
    $html .= '<li>'.get_the_time('Y/m/d').'</li>';にechoを追加する方法はあるのでしょうか。
    初歩的な質問ですみません。。

    キャンセル

  • 2018/10/14 15:48

    $html .= '<li>';
    の意味をわかっていますか?変数$htmlの後ろに文字列'<li>'を追加しています。
    そもそも、$resultsがどう定義されているかによっては書き方も変わる可能性があるので、きちんと提示してください。

    キャンセル

  • 2018/10/14 16:02

    はい。文字列追加するっていう意味ですよね。。
    具体的にはmore-disp.phpに書かれている内容をJSでfront-page.phpに表示させています。
    functions.phpに書かれている内容はmore-disp.phpと紐付く内容になっております。

    キャンセル

  • 2018/10/14 16:29

    回答のコードの当該部分を get_the_time('Y/m/d', $result->ID) に書き換えてください。

    キャンセル

  • 2018/10/14 18:15

    ありがとうございます!教えていただいたやり方でやったら希望通りに表示されました!
    本当にありがとうございます!ベストアンサーにさせていただきます!

    キャンセル

同じタグがついた質問を見る

  • PHP

    21359questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    17549questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • WordPress

    7677questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • HTML5

    4307questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    2215questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

  • トップ
  • PHPに関する質問
  • [wordpress] $html .= '<li>日付が入ります。</li>'; の日付が入ります。の部分に投稿日を表示させたい。