Skip to content

Commit c2fceee

Browse files
committed
add readme
1 parent db01d41 commit c2fceee

File tree

2 files changed

+66
-3
lines changed

2 files changed

+66
-3
lines changed

README.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,64 @@
1-
# JavaScript-Content-Message
1+
# JavaScript-Content-Message
2+
投稿・固定ページの投稿日もしくは最終更新日が一定期間過ぎている場合、メッセージを表示させます。
3+
4+
# 特徴
5+
Shifterのようなサーバレス環境での動作を想定しているためJavaScriptを使用してメッセージの表示を制御しています。
6+
7+
# インストール
8+
zipでこのプラグインをダウンロードし、WordPressの管理画面にアップロードしてください。
9+
10+
# 使い方
11+
プラグインを有効にすると、`設定 > 投稿設定` 内に `JavaScript-Content-Message` というセクションが追加されます。
12+
13+
## 適用ページ
14+
メッセージを表示させる投稿タイプを選択します。
15+
選択された投稿タイプをもつページが表示されているとき、 `the_content()` の一番最初にメッセージ表示に必要なDOMが挿入されます。
16+
17+
| 選択項目 | 投稿タイプ | 表示条件 |
18+
----|----|----
19+
| 投稿 | `post` | `is_single()` |
20+
| 固定ページ | `page` | `is_page()` |
21+
22+
デフォルトでは投稿・固定ページ両方に出力されます。
23+
24+
## 比較基準日
25+
### 基準日の設定
26+
表示されている記事の投稿日もしくは最終更新日のどちらを基準日にするかを設定します。
27+
28+
| 選択項目 | 日付取得関数 |
29+
----|----
30+
| 投稿日 | `get_the_date('Y/m/d')` |
31+
| 最終更新日 | `get_the_modified_date('Y/m/d')` |
32+
33+
デフォルトでは投稿日が基準日として設定されます。
34+
35+
### 基準日からの経過時間の設定
36+
基準日からどれだけ経過した場合にメッセージを表示するか設定します。
37+
デフォルトでは1年以上経過した場合にメッセージを表示します。
38+
39+
## 表示メッセージ
40+
表示させたいメッセージを設定します。
41+
HTMLを使用した場合、そのまま出力されるように構築されているため、自由なDOM構造を作成することができます。
42+
また、以下の特殊文字をメッセージ中に埋め込むことで正規表現を使用し、対応した文字に置換を行います。
43+
44+
| 特殊文字 | 説明 |
45+
----|----
46+
| `%year%` | 基準日と現在の年差 |
47+
| `%monthnum%` | 基準日と現在の月差(1ヶ月あたり30日で計算のため多少ブレあり) |
48+
| `%day%` | 基準日と現在の日差 |
49+
50+
## CSS設定
51+
表示されるメッセージに適用するCSSを設定します。
52+
`オリジナルCSSを使う` を選択すると、CSSを記述するためのフィールドが表示されます。
53+
表示されるメッセージは `表示メッセージ` で設定する内容とは関係なく `<div id="jcm_content_message">` にラップされた状態のDOMを出力するので、 `#jcm_content_message` をセレクタとすることでCSSを適用することができます。
54+
オリジナルCSSを記述したあとで `プラグイン付属のCSSを使う` を選択しても記述された内容は保存されています。
55+
56+
# 依存関係
57+
JavaScriptを使用して記述しているため、jQueryが無い環境でも動作します。
58+
閲覧に使用するブラウザがJavaScriptをサポートしていれば動作します。
59+
60+
# 注意
61+
- サーバーレス環境での動作を想定してJavaScriptで構築されているため、読み込み時に一瞬チラついて見えることがあります。
62+
- カスタム投稿への対応はしていません。
63+
- `the_content()` にフックする以外の出力方法は備えていません。
64+
- 特殊文字の `%monthnum%` は比較した差分の日数を30日で割った結果を月として出力しているため、正確な月ではありません。

index.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function jcm_load_scripts() {
5151
function jcm_add_content($content) {
5252
// 比較基準タイプ設定
5353
if (get_option('jcm_option_reference') === 'modified_date') {
54-
$content_time = get_the_modified_date('Y/m/d'); // 更新日
54+
$content_time = get_the_modified_date('Y/m/d'); // 最終更新日
5555
} else {
5656
$content_time = get_the_date('Y/m/d'); // 投稿日
5757
}
@@ -128,7 +128,7 @@ function jcm_option_reference() {
128128
?>
129129
<fieldset>
130130
<label><input name="jcm_option_reference" type="radio" value="posted_date" <?php echo get_option( 'jcm_option_reference' ) === false ? 'checked="checked"' : checked( 'posted_date', get_option( 'jcm_option_reference' ) ); ?> />投稿日</label>
131-
<label><input name="jcm_option_reference" type="radio" value="modified_date" <?php checked( 'modified_date', get_option( 'jcm_option_reference' ) ); ?> />更新日</label><br>
131+
<label><input name="jcm_option_reference" type="radio" value="modified_date" <?php checked( 'modified_date', get_option( 'jcm_option_reference' ) ); ?> />最終更新日</label><br>
132132
<input type="number" name="jcm_reference_date" min="0" max="9999" value="<?php echo get_option( 'jcm_reference_date' ) === false ? '1' : get_option( 'jcm_reference_date' ); ?>">
133133
<select name="jcm_reference_type">
134134
<option value="year" <?php echo get_option( 'jcm_reference_type' ) === false ? 'selected' : selected( 'year', get_option( 'jcm_reference_type' ) ); ?>>年</option>

0 commit comments

Comments
 (0)