
解説サイトなどをみて、新着記事に関しては以下の記述で「New」マークを表示させることができましたが、新規記事ではなく、既存の記事が更新された場合に「更新」と表示したいのですが、どのように修正すればよいでしょうか?よろしくお願いいたします。
<?php
$days = 1;
$now = date_i18n('U');
$entry = get_the_time('U');
$term = date('U',($now - $entry)) / 86400;
if( $days > $term ){
echo '<span class="new">New</span>';
}
?>
No.3ベストアンサー
- 回答日時:
両方使いたい場合
$post_time = get_the_time('U');
$modified_time = get_the_modified_time('U');
と2つを別の変数名にして。
NEWの方は更新しようがしまいが24時間は表示するのであれば、
そのまま元のものを使う(変数名は変えたものにしています)。
$days = 1;
$now = date_i18n('U');
$term_post = date('U',($now - $post_time)) / 86400;
if( $days > $term_post ){
echo '<span class="new2">New</span>';
}
次に「更新」の方
get_the_modified_time関数は初投稿時(一度も更新していない時)は
投稿時間get_the_timeと同じ値になっているようなので、
投稿時間と更新時間を比較して、
もし違う(!=)なら更新されたことになるので「更新」を表示。
もし同じなら更新されていないので何もしない。
以下のような記述になります。
if ( $post_time != $modified_time ){
$term_mod = date('U',($now - $modified_time)) / 86400;
if( $days > $term_mod ){
echo '<span class="new2">更新</span>';
}
}
これで行けるのではないかと思います。
最初の変数の記述部分から3パートをつなげて書けばいいです。
※実際に試しているわけではないので、
細かい記述ミスなどは保証できませんが。
No.2
- 回答日時:
更新日時を取得する場合は
get_the_time('U')
の部分を
get_the_modified_time('U')
に変えて、
表示する文字「New」は「更新」とする。
No.1
- 回答日時:
New</span>';
のとこを「更新」で良いのでは。
マークが出てるなら<span class="new">のとこのクラスで画像が指定されているはずです。
スタイルシートで"new"をさがしてください。
画像を差し替えるだけで良いかもですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/12/22 17:29
- PHP アンドロイドスマホでのphp echoの文字サイズ 1 2023/05/13 15:15
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELマクロのSQL文での引用符...
-
Smarty
-
PHP+MYSQLで画像のようなイベン...
-
SQLローダーCSV取込で、囲み文...
-
where句中のtrim関数について
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
【PL/SQL】FROM区に変数を使う方法
-
group byの並び順を変えるだけ...
-
並べ替えについて
-
枝番の最大値とその前のデータ...
-
Oracleで「文字が無効です」の...
-
osqleditについて
-
SELECT FOR UPDATE で該当レコ...
-
単一グループのグループ関数で...
-
アクセスのレポートでレコード...
-
AccessのSQL文で1件のみヒット...
-
ファイルの漢数字の順番につい...
-
count関数の値をwhere句で使用...
-
BLOBやCLOBのパフォーマンスを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELマクロのSQL文での引用符...
-
【PL/SQL】DATE型の時刻の表示...
-
掲載日と更新日の管理の仕方
-
TIMESTAMPを検索するフォームを...
-
データ更新用のphpの記述でデー...
-
日替わりメッセージを表示させ...
-
postgresのカレンダーについて
-
PHP+MySQLで月ごとの数量を表...
-
php mysql データ登録
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
単一グループのグループ関数で...
-
count関数の値をwhere句で使用...
-
【PL/SQL】FROM区に変数を使う方法
-
group byの並び順を変えるだけ...
-
Oracleで「文字が無効です」の...
-
並べ替えについて
-
SELECT FOR UPDATE で該当レコ...
-
トランザクションログを出力せ...
おすすめ情報
*上記のコードで新着記事に関してはNewマークを付け、併用する形で更新記事に関しては更新マークを付けたい感じです。
おそらくそれで表示自体はできるのですが、新着記事は「New」、更新記事は「更新」と表示したく、
<?php
$days = 1;
$now = date_i18n('U');
$entry = get_the_time('U');
$term = date('U',($now - $entry)) / 86400;
if( $days > $term ){
echo '<span class="new2">New</span>';
}
?>
*文字数の兼ね合いで分割して送付させていただきます
<?php
$days = 1;
$now = date_i18n('U');
$entry = get_the_modified_time('U');
$term = date('U',($now - $entry)) / 86400;
if( $days > $term ){
echo '<span class="new2">New</span>';
}
?>
を2つ併記すると後者が優先されてしまってる状況で、両方とも同時に使用したい場合はどうすればいいでしょうか。