<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Plugin &#8211; WordPress Memo</title>
	<atom:link href="https://blog.riverforest-wp.info/category/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.riverforest-wp.info</link>
	<description>WordPress に関する覚え書き</description>
	<lastBuildDate>Wed, 12 Nov 2025 22:11:50 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.riverforest-wp.info/wp-content/uploads/2018/05/cropped-icon-256x256-1-32x32.png</url>
	<title>Plugin &#8211; WordPress Memo</title>
	<link>https://blog.riverforest-wp.info</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>プラグインとシェルスクリプトで静的生成サイトの構築</title>
		<link>https://blog.riverforest-wp.info/static-site-generator/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Sun, 11 May 2025 00:29:42 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[サイト構築]]></category>
		<category><![CDATA[シェルスクリプト]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[静的化]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=4069</guid>

					<description><![CDATA[はじめに 先日、静的生成サイトを構築するプラグインを出しました。その補完として、そのプラグインを利用したサイト構築のためのシェルスクリプトを掲載します。このプラグインは、WP-CLI でのみ動作します。 このブログは、こ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>先日、静的生成サイトを構築するプラグインを出しました。その補完として、そのプラグインを利用したサイト構築のためのシェルスクリプトを掲載します。このプラグインは、WP-CLI でのみ動作します。</p>



<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/static-site-generator/assets/icon-256x256.png?rev=3260419" alt="Static Site Generator のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/static-site-generator/" class="pluginstatsview-astyle">Static Site Generator</a></div>
			<div class="pluginstatsview-small">静的サイトを生成します。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/static-site-generator/#reviews" title="0.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span>
			</span>
	</a>(0)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">1,041ダウンロード</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/static-site-generator.2.04.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2025-03-23</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:30 時点の統計	</div>
</div>



<p>このブログは、このプラグインとシェルスクリプトで静的サイトになっており、WordPress の本体、データベースは取り除かれていて、この記事もテスト環境側の WordPress で書かれています。静的サイトだと、ブログのコメントが出来なくなりますが、ブログのコメントは、SNS 上で記事をシェアした際に、SNS 上で付くコメントの方が多いので、必要を感じません。また、コンタクトフォームは自前のものを、php で用意し、記事中に、<code class="language-php language-html">iframe</code> タグで埋め込みました。</p>



<h3 class="wp-block-heading">要件</h3>



<ol class="wp-block-list">
<li>ローカル開発者環境で、WP-CLI がインストールされており、コマンドプロンプトでシェルスクリプト（#!/bin/sh）が使える事。</li>



<li>ローカル開発者環境と、リモートステージング環境が、SSH で繋がっている事（rsync コマンド利用の為）。</li>



<li>パーマリンクの URL の設定が、トレイリングスラッシュである事。このプラグインは、URL の末尾にパラメータが付いていたり、トレイリングスラッシュが無いと動作を辞め生成しません。</li>



<li>このプラグインはトレイリングスラッシュ以下に、ファイルを生成します。そのファイルを以下に記します。
<ul class="wp-block-list">
<li><code class="language-php language-html">index.html</code> &#8211; html のファイルです。</li>



<li><code class="language-php language-html">index.xml</code> &#8211; フィードのファイルです。</li>



<li><code class="language-php language-html">.htaccess</code> &#8211; <code class="language-php language-html">index.xml</code> と同じ場所に生成します。<code class="language-php language-html">index.xml</code> を認識させるために、<code class="language-php language-html">DirectoryIndex index.xml</code> とだけ書いてあります。Apache2 サーバーのみ使用可能なので、nginx などの他のサーバーの場合は、<code class="language-php language-html">index.xml</code> が認識するように対処してください。</li>
</ul>
</li>



<li>リダイレクトがある場合には、生成しません。ただし、そのディレクトリは作成します。</li>
</ol>



<p class="has-text-align-left">※2 はあると便利ですが、ない場合には、FTP でのアップロードで代替えできます。</p>



<h3 class="wp-block-heading">コード</h3>



<pre class="prism line-numbers"><code class="language-php language-html">#!/bin/sh

# 引数の確認
if &#91; $# -lt 1 ]; then
	echo "使い方: $0 &#91;test|stage]"
	exit 1
fi

# 引数で環境を受け取る
env="$1"

# test WordPress サイト名
wp_site_name="blog.riverforest-wp.info"

# stage サイトディレクトリ名
stage_site_dir="dodesyo:~/public_html/blog.riverforest-wp.info/"

# 環境に応じた静的サイト名と出力ディレクトリを設定
case "$env" in
	test)
		static_site_name="static.riverforest.test"
		abs_path="/home/katsushi/www/$static_site_name"
		;;
	stage)
		static_site_name="blog.riverforest-wp.info"
		abs_path="/home/katsushi/static-temp/$static_site_name"
		;;
	*)
		echo "不正な環境指定です。test、または stage を指定してください。"
		exit 1
		;;
esac

# 静的サイト名のディレクトリを存在確認し、無ければ作成
if &#91; ! -d "$abs_path" ]; then
	mkdir "$abs_path"
	echo "ディレクトリが無いので作成しました: $abs_path"
fi

# Static Site Generator による生成
wp static "$abs_path" https://$static_site_name --cb1="$wp_site_name" --ca1="$static_site_name"

# Static Site Generator による image &amp; video sitemap のみの生成 
wp static "$abs_path" https://$static_site_name --cb1="$wp_site_name" --ca1="$static_site_name" --s --file1="feed/googleimagesitemap/index.xml" --orgurl1="https://$wp_site_name/feed/googleimagesitemap" --file2="feed/googlevideossitemap/index.xml" --orgurl2="https://$wp_site_name/feed/googlevideossitemap"

# 必要ファイル類のコピー wp-includes 関連
cp -f wp-includes/js/wp-emoji-release.min.js "$abs_path"/wp-includes/js
if &#91; ! -d "$abs_path"/wp-includes/images ]; then
	mkdir "$abs_path"/wp-includes/images
fi
cp -rf wp-includes/images/media "$abs_path"/wp-includes/images

# 必要ファイル類のコピー インストールプラグイン関連
cp -rf wp-content/plugins/cookie-law-info/lite/frontend/images "$abs_path"/wp-content/plugins/cookie-law-info/lite/frontend/images
cp -rf wp-content/plugins/riverforest-function/icomoon/fonts "$abs_path"/wp-content/plugins/riverforest-function/icomoon/fonts
if &#91; ! -d "$abs_path"/wp-content/plugins/media-sitemap ]; then
	mkdir "$abs_path"/wp-content/plugins/media-sitemap
fi
cp -rf wp-content/plugins/media-sitemap/xsl "$abs_path"/wp-content/plugins/media-sitemap/xsl

# 必要ファイル類のコピー カスタム php スクリプト（コンタクトフォーム）関連
cp -rf custom "$abs_path"

# xmlrpc.php の削除
rm -f xmlrpc.php

if &#91; "$env" = "stage" ]; then
	echo "ホスト側と rsync で同期を開始します"
	rsync -avz -e ssh "$abs_path"/ "$stage_site_dir"
	echo "ホスト側と rsync で同期を終了しました"
	# ローカルホストの静的ファイルをディレクトリごと全て削除
	rm -rf $abs_path
fi

exit
</code></pre>



<h3 class="wp-block-heading">使い方＆解説</h3>



<p>シェルスクリプト名が、<code class="language-php language-html">static.sh</code> だとして、引数を指定します。引数は <code class="language-php language-html">test</code> か、<code class="language-php language-html">stage</code> のどちらかです。</p>



<ul class="wp-block-list">
<li>引数 <code class="language-php language-html">test</code>  ：ローカル環境にファイルを作成</li>



<li>引数 <code class="language-php language-html">stage</code> ：ローカル環境に一時的にファイルを作成し、リモートステージング環境にファイルをコピー。</li>
</ul>



<h4 class="wp-block-heading">動作</h4>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed1a6d&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed1a6d" class="wp-block-image size-large wp-lightbox-container"><img fetchpriority="high" loading="eager" decoding="async" width="1024" height="542" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://blog.riverforest-wp.info/wp-content/uploads/20250511/terminal-1024x542.png" alt="" class="wp-image-4108" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20250511/terminal-1024x542.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20250511/terminal-300x159.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20250511/terminal-768x406.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20250511/terminal.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h4 class="wp-block-heading">解説</h4>



<ul class="wp-block-list">
<li>１３行：テスト環境の WordPress のサイト名。</li>



<li>１６行：ステージング環境の WordPress のディレクトリ名、正確には、<code class="language-php language-html">.ssh</code> の、<code class="language-php language-html">config</code> ファイルに書いた、host 名(<code class="language-php language-html">dodesyo:</code>)とディレクトリ名(<code class="language-php language-html">~/public_html/blog.riverforest-wp.info/</code>)になります。</li>



<li>２１行ー２２行：テスト環境のサイト名と、サイトディレクトリ名。</li>



<li>２５行ー２６行：ステージング環境のサイト名と、サイトディレクトリ名。</li>



<li>４１行：プラグインのコマンド。<code class="language-php language-html"> --cb1</code> オプションは、変更する前（テスト環境）のサイト名、<code class="language-php language-html">--ca1</code> オプションは、変更後（静的サイト）のサイト名。</li>



<li>４４行：プラグインのコマンド。 <code class="language-php language-html">--s</code> オプションは、<code class="language-php language-html">--file</code> <code class="language-php language-html">--orgurl</code> オプションの作業だけ行うの意味。<a href="https://ja.wordpress.org/plugins/media-sitemap/" target="_blank" rel="noreferrer noopener">Media Sitemap for Google</a> というプラグインの生成するサイトマップを生成するためのもの。</li>



<li>４７行ー５１行：WordPress の本体のファイルが必要な場合にコピー。</li>



<li>５４行：<a href="https://ja.wordpress.org/plugins/cookie-law-info/" target="_blank" rel="noreferrer noopener">CookieYes</a> というプラグインで必要なものをコピー。</li>



<li>５５行：このサイトで必要な処理を自身でプラグイン化したもので必要なものをコピー。</li>



<li>５６行ー５９行：<a href="https://ja.wordpress.org/plugins/media-sitemap/" target="_blank" rel="noreferrer noopener">Media Sitemap for Google</a> というプラグインで必要なものをコピー。</li>



<li>６２行：自身で php で作成した、コンタクトフォーム一式をコピー。</li>



<li>６５行：プラグインが、<code class="language-php language-html">xmlrpc.php</code> をコピーしてきてしまうので、削除。</li>



<li>６７行以降：rsync で、ステージング環境に出力するためのもの。FTP 等でコピーするなら不要。</li>
</ul>



<h3 class="wp-block-heading">この方法で静的化したサイト</h3>



<p>以下に、この方法で静的化したこのサイト以外の自分のサイトを示します。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block2ed0fd380d83fa7a1b4824d3b5a830b8 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border2ed0fd380d83fa7a1b4824d3b5a830b8 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title2ed0fd380d83fa7a1b4824d3b5a830b8 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description2ed0fd380d83fa7a1b4824d3b5a830b8 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://fbm.riverforest-wp.info/ja/fixed-bottom-menu-%e3%83%a9%e3%82%a4%e3%83%96/ target="_blank" rel="noopener">
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border2ed0fd380d83fa7a1b4824d3b5a830b8">
			fbm.riverforest-wp.info			<div class="simpleblogcard_title2ed0fd380d83fa7a1b4824d3b5a830b8">
				Fixed Bottom Menu ライブ – WordPress Plugin Fixed Bottom Menu Live Site			</div>
							<div class="simpleblogcard_description2ed0fd380d83fa7a1b4824d3b5a830b8">
					当サイトでは、プラグイン「Fixed Bottom Menu」のフィルターによるカスタマイズ例を紹介しています。「Twenty Twenty-Four」テーマを使用しています。 こ&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block49aa81f281adafe4b26d1e4c31173529 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border49aa81f281adafe4b26d1e4c31173529 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title49aa81f281adafe4b26d1e4c31173529 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description49aa81f281adafe4b26d1e4c31173529 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://riverforest-wp.info/ja/plugins-ja/ target="_blank" rel="noopener">
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border49aa81f281adafe4b26d1e4c31173529">
			riverforest-wp.info			<div class="simpleblogcard_title49aa81f281adafe4b26d1e4c31173529">
				Riverforest Plugins – Introducing of WordPress plugins made by Katsushi Kawamori. And sales of add-ons.			</div>
							<div class="simpleblogcard_description49aa81f281adafe4b26d1e4c31173529">
					私は以下のプラグインを作成し、WordPress に貢献しています。				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_blockc23f04a9dd8b5fe50ca7f1a3e93412dd {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderc23f04a9dd8b5fe50ca7f1a3e93412dd {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlec23f04a9dd8b5fe50ca7f1a3e93412dd {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionc23f04a9dd8b5fe50ca7f1a3e93412dd {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://compe-scoring.com/ja/compe-scoring-ja/ target="_blank" rel="noopener">
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderc23f04a9dd8b5fe50ca7f1a3e93412dd">
			compe-scoring.com			<div class="simpleblogcard_titlec23f04a9dd8b5fe50ca7f1a3e93412dd">
				Competition Scoring System – Competition Scoring System			</div>
							<div class="simpleblogcard_descriptionc23f04a9dd8b5fe50ca7f1a3e93412dd">
					このサービスの特徴 このサービスは、競技会・コンクール・コンテストの採点システムです。 競技の初めから終わりまで、自動収集します。PCの前にいる必要はありません。競技が終わった後に&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_blockbd35fcce6db8589e389ae01ac1e53804 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderbd35fcce6db8589e389ae01ac1e53804 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlebd35fcce6db8589e389ae01ac1e53804 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionbd35fcce6db8589e389ae01ac1e53804 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://bdc-scoring.com/ja/ballroom-dance-competition-scoring-system-ja/ target="_blank" rel="noopener">
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderbd35fcce6db8589e389ae01ac1e53804">
			bdc-scoring.com			<div class="simpleblogcard_titlebd35fcce6db8589e389ae01ac1e53804">
				Ballroom dance competition Scoring System			</div>
							<div class="simpleblogcard_descriptionbd35fcce6db8589e389ae01ac1e53804">
					このサービスの特徴 このサービスは、ボールルームダンス競技会の採点システムです。兄弟版サービスの競技会採点システムは以下からお入りください。 競技会採点システム ここで記されるボー&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_blockfbaaba2ce8d10b8d7f87923959175a42 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderfbaaba2ce8d10b8d7f87923959175a42 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlefbaaba2ce8d10b8d7f87923959175a42 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionfbaaba2ce8d10b8d7f87923959175a42 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://pt-syncer.riverforest-wp.info/>
				<figure class="simpleblogcard_img_blockfbaaba2ce8d10b8d7f87923959175a42">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 100px;" src="https://pt-syncer.riverforest-wp.info/wp-content/uploads/2025/10/icon-300x300.png" alt="PT-Syncer – パーソナルトレーニング向け管理アプリ。QRでチケット管理、Googleカレンダーで予定確認。" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderfbaaba2ce8d10b8d7f87923959175a42">
			pt-syncer.riverforest-wp.info			<div class="simpleblogcard_titlefbaaba2ce8d10b8d7f87923959175a42">
				PT-Syncer – パーソナルトレーニング向け管理アプリ。QRでチケット管理、Googleカレンダーで予定確認。			</div>
							<div class="simpleblogcard_descriptionfbaaba2ce8d10b8d7f87923959175a42">
					PT-Syncer / PT-Syncer Mini ** PT-Syncer（Personal Training Sync）** パーソナルトレーニングや個人レッスン向けのチケッ&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>
</div>



<h3 class="wp-block-heading">終わりに</h3>



<p>静的サイトにしてみて、表示が早くなったのを実感します。また、セキュリティ的な圧力から解放されます。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>プラグインディレクトリでの Live Preview の有効化</title>
		<link>https://blog.riverforest-wp.info/live-preview/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Tue, 18 Jun 2024 00:59:34 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Live Preview]]></category>
		<category><![CDATA[プラグイン]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3854</guid>

					<description><![CDATA[はじめに ブラウザだけで動作する WordPress 「Playground」が、昨年辺りから利用できるようになりました。それを利用して、公式プラグインディレクトリや公式テーマディレクトリで「Live Preview」が [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>ブラウザだけで動作する WordPress 「Playground」が、昨年辺りから利用できるようになりました。それを利用して、公式プラグインディレクトリや公式テーマディレクトリで「Live Preview」が可能になっています。今回は、公式プラグインディレクトリで「Live Preview」を可能にするためにプラグイン作者向けに書きました。</p>



<style>
.simpleblogcard_img_blockfdd0a599c62ddcf3d91b5f125a2c20c6 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderfdd0a599c62ddcf3d91b5f125a2c20c6 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlefdd0a599c62ddcf3d91b5f125a2c20c6 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionfdd0a599c62ddcf3d91b5f125a2c20c6 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/playground/ target="_blank" rel="noopener">
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderfdd0a599c62ddcf3d91b5f125a2c20c6">
			wordpress.org			<div class="simpleblogcard_titlefdd0a599c62ddcf3d91b5f125a2c20c6">
				WordPress Playground			</div>
							<div class="simpleblogcard_descriptionfdd0a599c62ddcf3d91b5f125a2c20c6">
									</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<h3 class="wp-block-heading">プラグインディレクトリにログイン</h3>



<p>ログインして、「Advanced View」に移動し、最下部に移動すると、「Toggle Live Preview」という欄があります。<code class="language-php language-html">blueprint.json</code> というファイルがコミットされていないと、「Live Preview」 を有効化するボタンが表示されていません。</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed38d0&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed38d0" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="314" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="3866" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/Default-Advanced-View-1024x314.png" alt="" class="wp-image-3866" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/Default-Advanced-View-1024x314.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/Default-Advanced-View-300x92.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/Default-Advanced-View-768x236.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/Default-Advanced-View.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed3e1a&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed3e1a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="805" height="489" data-id="3871" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview1.png" alt="" class="wp-image-3871" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview1.png 805w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview1-300x182.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview1-768x467.png 768w" sizes="auto, (max-width: 805px) 100vw, 805px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h3 class="wp-block-heading">設定ファイルの編集とコミット</h3>



<p>例として、自分のプラグインの <a href="https://ja.wordpress.org/plugins/fixed-bottom-menu/" target="_blank" rel="noreferrer noopener"><strong>Fixed Bottom Menu</strong></a> の「<strong>blueprint.json</strong>」を以下に記します。</p>



<pre class="prism line-numbers"><code class="language-php language-html">{
    "landingPage": "\/wp-admin\/admin.php?page=fixedbottommenu",
    "preferredVersions": {
        "php": "8.0",
        "wp": "6.6"
    },
	"login": true,
	"plugins": &#91;"fixed-bottom-menu"]
}</code></pre>



<p>プラグインをインストール、有効化し、プラグインの設定画面を表示する設定になっています。詳しくは、以下をご覧ください。</p>



<style>
.simpleblogcard_img_block882fe5154bb0a5db043a48bb9a4c9de1 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border882fe5154bb0a5db043a48bb9a4c9de1 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title882fe5154bb0a5db043a48bb9a4c9de1 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description882fe5154bb0a5db043a48bb9a4c9de1 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://developer.wordpress.org/plugins/wordpress-org/previews-and-blueprints/ target="_blank" rel="noopener">
				<figure class="simpleblogcard_img_block882fe5154bb0a5db043a48bb9a4c9de1">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 52px;" src="https://developer.wordpress.org/wp-content/themes/wporg-developer-2023/images/opengraph-image.png" alt="Previews and Blueprints – Plugin Handbook | Developer.WordPress.org" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border882fe5154bb0a5db043a48bb9a4c9de1">
			developer.wordpress.org			<div class="simpleblogcard_title882fe5154bb0a5db043a48bb9a4c9de1">
				Previews and Blueprints – Plugin Handbook | Developer.WordPress.org			</div>
							<div class="simpleblogcard_description882fe5154bb0a5db043a48bb9a4c9de1">
					If you haven’t noticed it yet, the WordPress Playground is an amazing feature that lets an&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<p>また、「<strong>blueprint.json</strong>」の設定例が以下から参照できます。</p>



<style>
.simpleblogcard_img_block6763425e2984f5d7bd961654bc4154ea {
  float: right;
  padding: 10px;
}
.simpleblogcard_border6763425e2984f5d7bd961654bc4154ea {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title6763425e2984f5d7bd961654bc4154ea {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description6763425e2984f5d7bd961654bc4154ea {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://github.com/WordPress/blueprints/tree/trunk/blueprints>
				<figure class="simpleblogcard_img_block6763425e2984f5d7bd961654bc4154ea">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 50px;" src="https://opengraph.githubassets.com/1a99c75777ecb69d9a0269d49c8efc10946b325b74add4b6c62a4005e299395b/WordPress/blueprints" alt="blueprints/blueprints at trunk · WordPress/blueprints · GitHub" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border6763425e2984f5d7bd961654bc4154ea">
			github.com			<div class="simpleblogcard_title6763425e2984f5d7bd961654bc4154ea">
				blueprints/blueprints at trunk · WordPress/blueprints · GitHub			</div>
							<div class="simpleblogcard_description6763425e2984f5d7bd961654bc4154ea">
					Blueprints gallery and examples. Contribute to WordPress/blueprints development by creatin&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<p>その他に一番使う設定として、管理画面を日本語で読み込む例を以下に示します。</p>



<pre class="prism line-numbers"><code class="language-php language-html">{
    "landingPage": "\/wp-admin\/",
　　"login": true,
    "steps": &#91;
		{
			"step": "setSiteLanguage",
			"language": "ja"
		}
    ]
}</code></pre>



<p>「<strong>blueprint.json</strong>」の編集を終えたら、プラグインディレクトリにコミットします。コミット場所は、<code class="language-php language-html">/assets/blueprints/blueprint.json</code> です。</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed4695&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed4695" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="635" height="302" data-id="3867" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/folder1.png" alt="" class="wp-image-3867" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/folder1.png 635w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/folder1-300x143.png 300w" sizes="auto, (max-width: 635px) 100vw, 635px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed4c6b&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed4c6b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="649" height="259" data-id="3868" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/folder2.png" alt="" class="wp-image-3868" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/folder2.png 649w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/folder2-300x120.png 300w" sizes="auto, (max-width: 649px) 100vw, 649px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h3 class="wp-block-heading">プラグインディレクトリでの操作</h3>



<p>コミット後に、ログインして、「Download」の横に「Test Preview」ボタンが出現します。ボタンを押すとテストできます。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed5394&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed5394" class="wp-block-image aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="282" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/test-preview-1024x282.png" alt="" class="wp-image-3870" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/test-preview-1024x282.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/test-preview-300x83.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/test-preview-768x212.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/test-preview.png 1336w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p>テストして問題が無ければ、「Advanced View」に移動し、最下部に移動し、「Toggle Live Preview」のボタンを押すと、「Live Preview」が有効化されます。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed59f2&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed59f2" class="wp-block-image aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="804" height="566" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview2.png" alt="" class="wp-image-3872" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview2.png 804w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview2-300x211.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/toggle-live-preview2-768x541.png 768w" sizes="auto, (max-width: 804px) 100vw, 804px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed5f44&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed5f44" class="wp-block-image aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="343" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview-1024x343.png" alt="" class="wp-image-3869" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview-1024x343.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview-300x101.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview-768x258.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview.png 1264w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h3 class="wp-block-heading">実際の動作</h3>



<figure class="wp-block-video aligncenter"><video height="720" style="aspect-ratio: 1280 / 720;" width="1280" controls muted src="https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview.mp4"></video></figure>



<h3 class="wp-block-heading">おわりに</h3>



<p>「Live Preview」は、プラグインの更新とは独立してオン・オフできるので、用途や更新内容に合わせて適宜オン・オフできるのが便利ですね。</p>
]]></content:encoded>
					
		
		<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20240618/live-preview.mp4" length="7123488" type="video/mp4" />

			</item>
		<item>
		<title>投稿編集リンクを管理バーに表示するプラグイン</title>
		<link>https://blog.riverforest-wp.info/edit-recent-edited-posts/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Mon, 03 Jun 2024 11:42:37 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[最近の投稿]]></category>
		<category><![CDATA[管理バー]]></category>
		<category><![CDATA[編集]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3842</guid>

					<description><![CDATA[はじめに このブログ内で書いてる記事で時々加筆するものがあります。その際に投稿画面で検索してから投稿を編集しますが、何回かに分けて加筆する際に同じ事（投稿画面で検索してから投稿を編集）を繰り返すのが面倒なので、ログインし [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>このブログ内で書いてる記事で時々加筆するものがあります。その際に<strong>投稿画面で検索してから投稿を編集</strong>しますが、何回かに分けて加筆する際に同じ事（<strong>投稿画面で検索してから投稿を編集</strong>）を繰り返すのが面倒なので、ログインしてすぐに管理バーからダイレクトに編集（<strong>直近の投稿</strong>）できるプラグインを作成しました。ありそうで無かった？プラグインだと思います。</p>



<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/edit-recent-edited-posts/assets/icon-256x256.png?rev=3096696" alt="Edit Recent Edited Posts のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/edit-recent-edited-posts/" class="pluginstatsview-astyle">Edit Recent Edited Posts</a></div>
			<div class="pluginstatsview-small">管理バーに最近編集した投稿へのリンクが表示され、編集できるようになります。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/edit-recent-edited-posts/#reviews" title="0.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span>
			</span>
	</a>(0)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">1,142ダウンロード</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/edit-recent-edited-posts.1.01.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2024-06-03</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:30 時点の統計	</div>
</div>



<h3 class="wp-block-heading">動作</h3>



<figure class="wp-block-video"><video controls muted src="https://blog.riverforest-wp.info/wp-content/uploads/20240526/edit-recent-edited-posts.mp4"></video></figure>



<h3 class="wp-block-heading">仕様</h3>



<ul class="wp-block-list">
<li>過去3日以内に編集された5つの投稿を表示します。</li>



<li>投稿、固定ページ、メディア、カスタム投稿に対応。</li>



<li>以下のフィルターフックを使って様々な設定を変更できます。</li>
</ul>



<pre class="prism line-numbers"><code class="language-php language-html">/** ==================================================
 * Filter for capability.
 *
 */
add_filter( 'edit_recent_edited_posts_user_can',
	function() {
		return 'edit_published_posts';
	},
	10,
	1
);
~~~
~~~
/** ==================================================
 * Filter for period to be displayed.
 *
 */
add_filter(
	'edit_recent_edited_posts_days',
	function() {
		return 30;
	},
	10,
	1
);
~~~
~~~
/** ==================================================
 * Filter for user ID of the post to be displayed.
 *
 */
add_filter(
	'edit_recent_edited_posts_author_ids',
	function() {
		$user_ids = array();
		$user_ids&#91;] = get_current_user_id();
		return $user_ids;
	},
	10,
	1
);
~~~
~~~
/** ==================================================
 * Filter for displayed results.
 *
 */
add_filter(
	'edit_recent_edited_posts_items',
	function() {
		return 10;
	},
	10,
	1
);
~~~
~~~
/** ==================================================
 * Filter for display order.
 *
 */
add_filter(
	'edit_recent_edited_posts_order',
	function() {
		return 'ASC';
	},
	10,
	1
);
~~~
~~~
/** ==================================================
 * Filter for type of posting date and time.
 *
 */
add_filter(
	'edit_recent_edited_posts_orderby',
	function() {
		return 'post_date';
	},
	10,
	1
);
</code></pre>
]]></content:encoded>
					
		
		<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20240526/edit-recent-edited-posts.mp4" length="20576723" type="video/mp4" />

			</item>
		<item>
		<title>投稿内で改ページと前後の説明を入力表示するプラグイン</title>
		<link>https://blog.riverforest-wp.info/pagebreak-description/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Fri, 24 Nov 2023 00:22:32 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[ページネーション]]></category>
		<category><![CDATA[ページ区切り]]></category>
		<category><![CDATA[改ページ]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3580</guid>

					<description><![CDATA[はじめに WordPress の投稿記事が長文になってくると、投稿者やユーザーによっては、改ページをした方が編集・閲覧しやすい場合があります。そんな場合ページ区切りブロックを入れるとページネーションを入れてくれますが、そ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p></p>



<h3 class="wp-block-heading">はじめに</h3>



<p>WordPress の投稿記事が長文になってくると、投稿者やユーザーによっては、改ページをした方が編集・閲覧しやすい場合があります。そんな場合<strong>ページ区切りブロック</strong>を入れるとページネーションを入れてくれますが、そこに前ページ・後ページへのリンクにコメントを付加するという事をこのブログでやってみて、良い感じになったのでプラグイン化しました。</p>



<p>SNS で需要があるか尋ねてみたところ、需要がありそうなので、公式プラグインディレクトリへ申請しました。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed7a79&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed7a79" class="wp-block-image aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="587" height="844" src="https://blog.riverforest-wp.info/wp-content/uploads/20231124/x-093013.png" alt="" class="wp-image-3600" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20231124/x-093013.png 587w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/x-093013-209x300.png 209w" sizes="auto, (max-width: 587px) 100vw, 587px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p>５１日後に、審査が通り公式プラグインディレクトリへ掲載されました。</p>



<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/pagebreak-description/assets/icon-256x256.png?rev=3021445" alt="Pagebreak Description のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/pagebreak-description/" class="pluginstatsview-astyle">Pagebreak Description</a></div>
			<div class="pluginstatsview-small">改ページと前後の説明</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/pagebreak-description/#reviews" title="5.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span>
			</span>
	</a>(1)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">90以上サイトで有効化中</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/pagebreak-description.1.12.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2024-01-13</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:30 時点の統計	</div>
</div>



<h3 class="wp-block-heading">動作</h3>



<p>以下の様に動作します。</p>



<figure class="wp-block-video"><video height="896" style="aspect-ratio: 1362 / 896;" width="1362" controls muted src="https://blog.riverforest-wp.info/wp-content/uploads/20231124/pagebreak-description.mp4"></video></figure>



<figure class="wp-block-gallery aligncenter has-nested-images columns-2 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed8417&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed8417" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="625" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="3577" src="https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-1-1024x625.png" alt="" class="wp-image-3577" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-1-1024x625.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-1-300x183.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-1-768x468.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-1.png 1282w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed8a16&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed8a16" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="598" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="3578" src="https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-2-1024x598.png" alt="" class="wp-image-3578" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-2-1024x598.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-2-300x175.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-2-768x449.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20231124/screenshot-2.png 1282w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h3 class="wp-block-heading">仕様</h3>



<ul class="wp-block-list">
<li>改ページと前後の説明を入力します。値はページネーションで使用されます。</li>



<li>このブロックとページ区切りブロックを混在させないでください。コメントがずれてしまう可能性があります。</li>
</ul>



<h3 class="wp-block-heading">フィルター</h3>



<p>表示用の CSS の URL を指定できるフィルターを用意しました。元の CSS（/pagebreak-description/css/custom.css）を参考にして作成できます。</p>



<pre class="prism line-numbers"><code class="language-php language-html">/** ==================================================
 * Filter for CSS URL.
 * Default CSS -&gt; /pagebreak-description/css/custom.css
 */
add_filter(
	'pagebreak_description_css', 
	function() {

		/* If you put mydesign.css in wp-content/uploads */
		$wp_uploads = wp_upload_dir();
		$upload_url = $wp_uploads&#91;'baseurl'];
		if ( is_ssl() ) {
			$upload_url = str_replace( 'http:', 'https:', $upload_url );
		}
		$upload_url = untrailingslashit( $upload_url );
		$url = $upload_url . '/mydesign.css';

		return $url;
	},
	10,
	1
);</code></pre>
]]></content:encoded>
					
		
		<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20231124/pagebreak-description.mp4" length="36944634" type="video/mp4" />

			</item>
		<item>
		<title>ブログの記事の日時を24時間毎にリライトして検索順位を上げる？アドオン</title>
		<link>https://blog.riverforest-wp.info/date-time-random-auto-update/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Wed, 16 Aug 2023 23:47:53 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[日時変更]]></category>
		<category><![CDATA[検索順位]]></category>
		<category><![CDATA[自動日時更新]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3376</guid>

					<description><![CDATA[はじめに 最近、X(Twitter)や、一部のブログなどで、私のプラグイン Bulk Datetime Change を利用して、１日置きくらいに、数個から数十個の記事の日時を現在の日時に変更して Google の検索順 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>最近、X(Twitter)や、一部のブログなどで、私のプラグイン <strong>Bulk Datetime Change</strong> を利用して、１日置きくらいに、数個から数十個の記事の日時を現在の日時に変更して Google の検索順位を上げる？という事が散見されます。実際、効果をうたっている方もいるようです。皆さん、手動で変更されているようですが、どうせなら自動の方が楽なのではと思い、現在発売中の<strong>アドオン</strong>にその機能を付加しました。</p>



<p>これは<strong>裏技</strong>的な検索順位アップ法です。本来は<strong>コンテンツの内容を充実させる事</strong>が一番だと思います！</p>



<p>本来、この様な目的で作ったプラグインでは無いのですが、ユーザーが増えてくると作者には思いもよらなかった使い方をする方が出てくるので面白いですね。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/bulk-datetime-change/assets/icon-256x256.png?rev=2431126" alt="Bulk Datetime Change のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/bulk-datetime-change/" class="pluginstatsview-astyle">Bulk Datetime Change</a></div>
			<div class="pluginstatsview-small">投稿の日時を一括変更します。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/bulk-datetime-change/#reviews" title="5.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span>
			</span>
	</a>(8)</span>
		<span class="pluginstatsview-card-right">最終更新: 2週間 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">7,000以上サイトで有効化中</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/bulk-datetime-change.1.18.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2020-12-03</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:29 時点の統計	</div>
</div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block277d2ae97bf2060401f5236f54d8d80a {
  float: right;
  padding: 10px;
}
.simpleblogcard_border277d2ae97bf2060401f5236f54d8d80a {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title277d2ae97bf2060401f5236f54d8d80a {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description277d2ae97bf2060401f5236f54d8d80a {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://shop-jp.riverforest-wp.info/bulk-datetime-change-add-on/>
				<figure class="simpleblogcard_img_block277d2ae97bf2060401f5236f54d8d80a">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 52px;" src="https://shop-jp.riverforest-wp.info/wordpress/wp-content/uploads/2019/12/Logaster-1-facebook-sharedImage-1200px-300x158.png" alt="Bulk Datetime Change Add On - Riverforest Plugins ショップ" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border277d2ae97bf2060401f5236f54d8d80a">
			shop-jp.riverforest-wp.info			<div class="simpleblogcard_title277d2ae97bf2060401f5236f54d8d80a">
				Bulk Datetime Change Add On &#8211; Riverforest Plugins ショップ			</div>
							<div class="simpleblogcard_description277d2ae97bf2060401f5236f54d8d80a">
					== 概要 == このアドオンを追加すると「Bulk Datetime Change」に、カスタム投稿タイプの追加とメディアの Exif 時刻 の読み取り機能及び、ランダムないくつ&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<h3 class="wp-block-heading">仕様</h3>



<p>アドオンを有効化すると、画像の様なメニューが出ます。投稿タイプを選択し、更新数を変更し「変更を保存」を押します。次回実行の日時が出るので、その日時に自動変更を行います。変更を行った後に、２４時間後に再スケジュールします。スケジューリングを停止したい場合は、「更新数」を０にするか、アドオンを無効化してください。</p>



<ul class="wp-block-list">
<li>投稿は指定できません。自動でランダムに選択します。</li>



<li>投稿タイプは、カスタム投稿タイプも選択できます。</li>



<li>更新数は、0～20です。20以上は、Google に不信感をいだかせるかもしれないので制限しています。</li>



<li>更新内容は、プラグイン本体の「設定->変更」の項目（投稿日時と最終更新日時、投稿日時のみ、最終更新日時のみ）の選択したものとなります。</li>



<li>スケジューリングは、WP-Cron で行っています。疑似 Cron （指定した日時の直後から最初にサイトにアクセスがあった時に起動）なので、「次回実行」は正確な日時ではありません。このイベントは、WP-Cron 用のプラグインなどから見ることができ、実行する事もできます。プラグインは、<a href="https://ja.wordpress.org/plugins/wp-crontrol/" target="_blank" rel="noreferrer noopener">WP </a><a href="https://ja.wordpress.org/plugins/wp-crontrol/">Crontrol</a> が良いでしょう。このプラグインの、「ツール -&gt; Cron イベント」から、<strong>bdtc_cron</strong> を探し、「今すぐ実行」を押すと試すことができます。</li>
</ul>



<p></p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ed9f84&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ed9f84" class="wp-block-image aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="523" height="262" src="https://blog.riverforest-wp.info/wp-content/uploads/20230817/Screenshot-20230816.png" alt="" class="wp-image-3379" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20230817/Screenshot-20230816.png 523w, https://blog.riverforest-wp.info/wp-content/uploads/20230817/Screenshot-20230816-300x150.png 300w" sizes="auto, (max-width: 523px) 100vw, 523px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>プラグインのクローズ</title>
		<link>https://blog.riverforest-wp.info/closed-plugins/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Wed, 21 Jun 2023 23:43:54 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[クローズ]]></category>
		<category><![CDATA[プラグイン]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3336</guid>

					<description><![CDATA[はじめに 以前からアナウンスしていたように、下記の公式プラグインディレクトリ内の１５個のプラグインをクローズしました。Media from FTP だけは、利用者が多くプラグインチームと連絡を取り合ってクローズしなければ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>以前からアナウンスしていたように、下記の公式プラグインディレクトリ内の<strong>１５個のプラグイン</strong>をクローズしました。<strong>Media from FTP</strong> だけは、利用者が多くプラグインチームと連絡を取り合ってクローズしなければならないようで、現在プラグインチームは忙しそうなので連絡をとりませんでした。<strong>Media from FTP</strong> 内に代替えプラグインの <strong>Bulk Media Register</strong> のリンクが貼ってあるので、<strong>Media from FTP</strong> の有効インストール数が１万以下まで減ったら自分でクローズしようと思っています。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block3f4bd80e26f4eaef823e5dc1c5f3e901 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border3f4bd80e26f4eaef823e5dc1c5f3e901 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title3f4bd80e26f4eaef823e5dc1c5f3e901 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description3f4bd80e26f4eaef823e5dc1c5f3e901 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://ja.wordpress.org/plugins/media-from-ftp/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border3f4bd80e26f4eaef823e5dc1c5f3e901">
			ja.wordpress.org			<div class="simpleblogcard_title3f4bd80e26f4eaef823e5dc1c5f3e901">
				Media from FTP – WordPress プラグイン | WordPress.org 日本語			</div>
							<div class="simpleblogcard_description3f4bd80e26f4eaef823e5dc1c5f3e901">
					FTPでアップロードされたファイルからメディアライブラリに登録します。				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/bulk-media-register/assets/icon-256x256.png?rev=2316228" alt="Bulk Media Register のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/bulk-media-register/" class="pluginstatsview-astyle">Bulk Media Register</a></div>
			<div class="pluginstatsview-small">サーバー上のファイルをメディアライブラリに一括登録します。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/bulk-media-register/#reviews" title="4.5(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-half"></span>
			</span>
	</a>(22)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">8,000以上サイトで有効化中</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/bulk-media-register.1.41.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2020-06-01</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:29 時点の統計	</div>
</div>
</div>
</div>



<h3 class="wp-block-heading">クローズしたプラグイン</h3>



<style>
.simpleblogcard_img_block8fa0ea13a4de745ce54303a6448fc824 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border8fa0ea13a4de745ce54303a6448fc824 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title8fa0ea13a4de745ce54303a6448fc824 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description8fa0ea13a4de745ce54303a6448fc824 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/add-multiple-user/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border8fa0ea13a4de745ce54303a6448fc824">
			wordpress.org			<div class="simpleblogcard_title8fa0ea13a4de745ce54303a6448fc824">
				Add Multiple User – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description8fa0ea13a4de745ce54303a6448fc824">
					Add multiple users in bulk.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block7cdeb8aef2ec871aabb1a56c77c1dac9 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border7cdeb8aef2ec871aabb1a56c77c1dac9 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title7cdeb8aef2ec871aabb1a56c77c1dac9 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description7cdeb8aef2ec871aabb1a56c77c1dac9 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/discount-feed-woocommerce/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border7cdeb8aef2ec871aabb1a56c77c1dac9">
			wordpress.org			<div class="simpleblogcard_title7cdeb8aef2ec871aabb1a56c77c1dac9">
				Discount Feed WooCommerce – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description7cdeb8aef2ec871aabb1a56c77c1dac9">
					Create a discount feed for WooCommerce.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block1d80ec2d471d448d4b0f23fbb66c6fa1 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border1d80ec2d471d448d4b0f23fbb66c6fa1 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title1d80ec2d471d448d4b0f23fbb66c6fa1 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description1d80ec2d471d448d4b0f23fbb66c6fa1 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/extend-media-upload/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border1d80ec2d471d448d4b0f23fbb66c6fa1">
			wordpress.org			<div class="simpleblogcard_title1d80ec2d471d448d4b0f23fbb66c6fa1">
				Extend Media Upload – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description1d80ec2d471d448d4b0f23fbb66c6fa1">
					Add folder specification and date time specification to the media uploader.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block55f82f0de2f99c02c0c0abbe96953079 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border55f82f0de2f99c02c0c0abbe96953079 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title55f82f0de2f99c02c0c0abbe96953079 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description55f82f0de2f99c02c0c0abbe96953079 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/free-canvas/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border55f82f0de2f99c02c0c0abbe96953079">
			wordpress.org			<div class="simpleblogcard_title55f82f0de2f99c02c0c0abbe96953079">
				Free Canvas – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description55f82f0de2f99c02c0c0abbe96953079">
					Provide a canvas. Various cooperation is possible by shortcode and filter.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_blockc48ed2588b14aa385d3de75ca773cf4c {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderc48ed2588b14aa385d3de75ca773cf4c {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlec48ed2588b14aa385d3de75ca773cf4c {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionc48ed2588b14aa385d3de75ca773cf4c {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/hooks-view/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderc48ed2588b14aa385d3de75ca773cf4c">
			wordpress.org			<div class="simpleblogcard_titlec48ed2588b14aa385d3de75ca773cf4c">
				Hooks View – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_descriptionc48ed2588b14aa385d3de75ca773cf4c">
					Displays the hooks.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block37e4c56ec6d4bb8d91316625d590e0c1 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border37e4c56ec6d4bb8d91316625d590e0c1 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title37e4c56ec6d4bb8d91316625d590e0c1 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description37e4c56ec6d4bb8d91316625d590e0c1 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/organize-media-library/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border37e4c56ec6d4bb8d91316625d590e0c1">
			wordpress.org			<div class="simpleblogcard_title37e4c56ec6d4bb8d91316625d590e0c1">
				Organize Media Library by Folders – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description37e4c56ec6d4bb8d91316625d590e0c1">
					Organize Media Library by Folders. URL in the content, replace with the new URL.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_blockd33355a8be280dffbcfa6cc29b3c4046 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderd33355a8be280dffbcfa6cc29b3c4046 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titled33355a8be280dffbcfa6cc29b3c4046 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptiond33355a8be280dffbcfa6cc29b3c4046 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/password-string-generator/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderd33355a8be280dffbcfa6cc29b3c4046">
			wordpress.org			<div class="simpleblogcard_titled33355a8be280dffbcfa6cc29b3c4046">
				Password String Generator – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_descriptiond33355a8be280dffbcfa6cc29b3c4046">
					Specifies a password generation string.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block4fcb1b5abbb5b7cd348da257d4b8896c {
  float: right;
  padding: 10px;
}
.simpleblogcard_border4fcb1b5abbb5b7cd348da257d4b8896c {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title4fcb1b5abbb5b7cd348da257d4b8896c {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description4fcb1b5abbb5b7cd348da257d4b8896c {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/post-date-time-change/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border4fcb1b5abbb5b7cd348da257d4b8896c">
			wordpress.org			<div class="simpleblogcard_title4fcb1b5abbb5b7cd348da257d4b8896c">
				Post Date Time Change – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description4fcb1b5abbb5b7cd348da257d4b8896c">
					Collectively change the date and time of each article of post or page or media library.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_blockfadecb4935610b16c51a48efec7c3b13 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderfadecb4935610b16c51a48efec7c3b13 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlefadecb4935610b16c51a48efec7c3b13 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionfadecb4935610b16c51a48efec7c3b13 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/simple-nivoslider/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderfadecb4935610b16c51a48efec7c3b13">
			wordpress.org			<div class="simpleblogcard_titlefadecb4935610b16c51a48efec7c3b13">
				Simple NivoSlider – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_descriptionfadecb4935610b16c51a48efec7c3b13">
					Integrates NivoSlider into WordPress.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block66fd7c9c557fa4a543ac8ccf858cfdc5 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border66fd7c9c557fa4a543ac8ccf858cfdc5 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title66fd7c9c557fa4a543ac8ccf858cfdc5 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description66fd7c9c557fa4a543ac8ccf858cfdc5 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/simple-paypal-payment/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border66fd7c9c557fa4a543ac8ccf858cfdc5">
			wordpress.org			<div class="simpleblogcard_title66fd7c9c557fa4a543ac8ccf858cfdc5">
				Simple PayPal Payment – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description66fd7c9c557fa4a543ac8ccf858cfdc5">
					Integrates PayPal checkout into WordPress.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_blocka4e8e5d577e6d150b2af365985164ca3 {
  float: right;
  padding: 10px;
}
.simpleblogcard_bordera4e8e5d577e6d150b2af365985164ca3 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlea4e8e5d577e6d150b2af365985164ca3 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptiona4e8e5d577e6d150b2af365985164ca3 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/simple-posts-order/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_bordera4e8e5d577e6d150b2af365985164ca3">
			wordpress.org			<div class="simpleblogcard_titlea4e8e5d577e6d150b2af365985164ca3">
				Simple Posts Order – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_descriptiona4e8e5d577e6d150b2af365985164ca3">
					Sort the posts order.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block79c999355f0ed8c3390279e9e9a30e97 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border79c999355f0ed8c3390279e9e9a30e97 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title79c999355f0ed8c3390279e9e9a30e97 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description79c999355f0ed8c3390279e9e9a30e97 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/simple-stripe-payment/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border79c999355f0ed8c3390279e9e9a30e97">
			wordpress.org			<div class="simpleblogcard_title79c999355f0ed8c3390279e9e9a30e97">
				Simple Stripe Payment – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description79c999355f0ed8c3390279e9e9a30e97">
					Integrates Stripe checkout into WordPress.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block2079c761ebbc6cf0ad6b07c188035b70 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border2079c761ebbc6cf0ad6b07c188035b70 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title2079c761ebbc6cf0ad6b07c188035b70 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description2079c761ebbc6cf0ad6b07c188035b70 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/software-license-manager-client/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border2079c761ebbc6cf0ad6b07c188035b70">
			wordpress.org			<div class="simpleblogcard_title2079c761ebbc6cf0ad6b07c188035b70">
				Software License Manager Client – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description2079c761ebbc6cf0ad6b07c188035b70">
					Provides shortcode validate a license key with the Software License Manager.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_blockd4cfc3578f399397f1e6a653fc11b009 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderd4cfc3578f399397f1e6a653fc11b009 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titled4cfc3578f399397f1e6a653fc11b009 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptiond4cfc3578f399397f1e6a653fc11b009 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/software-license-manager-for-woocommerce/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderd4cfc3578f399397f1e6a653fc11b009">
			wordpress.org			<div class="simpleblogcard_titled4cfc3578f399397f1e6a653fc11b009">
				Software License Manager for WooCommerce – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_descriptiond4cfc3578f399397f1e6a653fc11b009">
					Generate a license key to in WooCommerce product with the Software License Manager.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<style>
.simpleblogcard_img_block2fda29ec83ec2ae47384d57582c78c51 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border2fda29ec83ec2ae47384d57582c78c51 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title2fda29ec83ec2ae47384d57582c78c51 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description2fda29ec83ec2ae47384d57582c78c51 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://wordpress.org/plugins/user-period-register/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border2fda29ec83ec2ae47384d57582c78c51">
			wordpress.org			<div class="simpleblogcard_title2fda29ec83ec2ae47384d57582c78c51">
				User Period Register – WordPress plugin | WordPress.org			</div>
							<div class="simpleblogcard_description2fda29ec83ec2ae47384d57582c78c51">
					Register users with time limit.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>インボイス制度に合わせた請求書を作成するプラグイン</title>
		<link>https://blog.riverforest-wp.info/pdf-invoice-japan-for-woocommerce/</link>
					<comments>https://blog.riverforest-wp.info/pdf-invoice-japan-for-woocommerce/#comments</comments>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Sat, 25 Mar 2023 19:37:03 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[インボイス制度]]></category>
		<category><![CDATA[メール]]></category>
		<category><![CDATA[請求書]]></category>
		<category><![CDATA[適格請求書]]></category>
		<category><![CDATA[適格返還請求書]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3156</guid>

					<description><![CDATA[はじめに 2023年10月1日から、インボイス制度（適格請求書等保存方式）が始まります。それに合わせた、請求書を作ろうと海外製のプラグインをいくつかカスタマイズしてみたのですが、微妙に上手くいかないので、専用のプラグイン [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p><strong>2023年10月1日</strong>から、<strong>インボイス制度（適格請求書等保存方式）</strong>が始まります。それに合わせた、請求書を作ろうと海外製のプラグインをいくつかカスタマイズしてみたのですが、微妙に上手くいかないので、専用のプラグイン（<a href="https://ja.wordpress.org/plugins/woocommerce/">WooCommerce</a> 上で動作）を作ってみました。<a href="https://ja.wordpress.org/plugins/woocommerce/">WooCommerce</a> 内のオブジェクトを調べるのは結構大変で途中から有料にしようかとも思いましたが、皆が必要になると思ったので公式プラグインディレクトリにあげました。一応、幾つかのフィルターで伸びしろをつけていて、請求書の体裁を全く違うものにする事も可能です。その辺を<strong>このプラグインのアドオンとして売り出す</strong>とか、<strong>顧客に対してのカスタマイズ</strong>という形での２次的なビジネスも可能です。<s>自分は面倒なのでやらないと思いますが</s>（アドオンを作成しました。興味がある方は<a href="https://shop-jp.riverforest-wp.info/product/pdf-invoice-japan-for-woocommerce-add-on/">こちら</a>から）、やる気がある方はチャレンジしてみてください。</p>



<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/pdf-invoice-japan-for-woocommerce/assets/icon-256x256.png?rev=2896835" alt="PDF Invoice Japan for WooCommerce のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/pdf-invoice-japan-for-woocommerce/" class="pluginstatsview-astyle">PDF Invoice Japan for WooCommerce</a></div>
			<div class="pluginstatsview-small">WooCommerce で注文を受けると、日本向けの請求書（PDF）が作成され、メールで送信されます。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/pdf-invoice-japan-for-woocommerce/#reviews" title="5.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span>
			</span>
	</a>(4)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">300以上サイトで有効化中</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/pdf-invoice-japan-for-woocommerce.2.14.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2023-04-11</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:29 時点の統計	</div>
</div>



<h3 class="wp-block-heading">使い方・仕様</h3>



<p>= 他のプラグインとの連携 =</p>



<ul class="wp-block-list">
<li><a href="https://ja.wordpress.org/plugins/woocommerce/">WooCommerce</a> が必要です。</li>
</ul>



<p>= 請求書 =</p>



<ul class="wp-block-list">
<li>2023年10月からの日本のインボイス制度に対応。</li>



<li>個別の登録番号の登録と表示</li>



<li>適格請求書（注文状況進行中、注文状況完了済み、の際に請求書としてメールへ PDF として添付し送信）</li>



<li>適格返還請求書（払戻の際に払戻明細書としてメールへ PDF として添付し送信）</li>



<li>クーポンによる割引に対応</li>



<li>送料に対応</li>
</ul>



<p>= ライブラリ =</p>



<ul class="wp-block-list">
<li><a href="https://github.com/tecnickcom/tcpdf/">TCPDF</a>.</li>
</ul>



<p>= フィルター =</p>



<ul class="wp-block-list">
<li>多数のフィルターを用意しました。詳しくは、readme.txt か、<a href="https://ja.wordpress.org/plugins/pdf-invoice-japan-for-woocommerce">プラグインページ</a>をご覧ください。</li>



<li>&#8216;invoice_japan_order_generate_html&#8217; フィルターを使うと請求書の書式を丸ごと変更できます。例えば代引き手数料は、標準のWooCommerce では対応していずにサードパーティー製のプラグインを併用している場合があるかと思いますが、その辺りの処理をここに書いて付け加えるなどができます。php の知識が必要です。このプラグインからの２次的なビジネスに繋がるかもしれないので、興味のある方はチャレンジしてみてください。</li>



<li>&#8216;invoice_japan_tcpdf_off&#8217; と &#8216;invoice_japan_pdf_write&#8217; の２つのフィルターを組み合わせて使うと、標準の PDF 生成ライブラリの TCPDF をオフにして、外部ライブラリを使用して、PDF を生成できます。こちらも２次的なビジネスに繋がるかもしれません。</li>
</ul>



<h3 class="wp-block-heading">動作</h3>



<p>公開当時の動画（2023年4月4日）<strong>YouTube</strong></p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="PDF Invoice Japan for WooCommerce" width="500" height="375" src="https://www.youtube.com/embed/Qte0pZ-Fnfk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>決済単位でメール送信のタイミングを設定できるようになり、「<a href="https://ja.wordpress.org/plugins/woocommerce-for-japan/" target="_blank" rel="noreferrer noopener">Japanized for WooCommerce</a>」の「銀行振込 (日本国内向け)」「郵便振替」に対応した動画。（2023年9月21日）Ver 1.06～</p>



<figure class="wp-block-video"><video height="804" style="aspect-ratio: 1390 / 804;" width="1390" controls src="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoicejapan_bankjp.mp4"></video></figure>



<p>手数料に対応した動画。（2023年11月12日）Ver 1.28～</p>



<figure class="wp-block-video"><video controls src="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoicejapan-fee.mp4"></video></figure>



<p>管理画面から、再送できるようにした動画。（2023年11月26日）Ver 1.30～</p>



<figure class="wp-block-video"><video height="748" style="aspect-ratio: 1390 / 748;" width="1390" controls src="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoicejapan-resend.mp4"></video></figure>



<p>マイページから、再送できるようにした動画。（2024年2月10日）Ver 1.33～</p>



<figure class="wp-block-video"><video height="816" style="aspect-ratio: 1234 / 816;" width="1234" controls src="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoice-japan-mypage-email.mp4"></video></figure>



<h3 class="wp-block-heading">謝辞</h3>



<p>プラグインを作成していく際に、<a href="https://twitter.com/yamasaki_da">山崎大祐</a> さんにテストしていただき貴重な数々の助言を賜りました。あらためて感謝を申し上げます。また、このプラグインの<a href="https://profiles.wordpress.org/yamasakidaisuke/#content-plugins">貢献者</a>として登録いたしました。</p>



<h3 class="wp-block-heading">ライブサイト</h3>



<p>ライブサイトを公開（2024年3月8日）して、ドキュメントをそちらに移動しました。テスト購入でプラグインの動作を体験できます。</p>



<style>
.simpleblogcard_img_block2b647504be98abba465dbf1240881ad1 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border2b647504be98abba465dbf1240881ad1 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title2b647504be98abba465dbf1240881ad1 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description2b647504be98abba465dbf1240881ad1 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://invoicejapan.riverforest-wp.info/>
				<figure class="simpleblogcard_img_block2b647504be98abba465dbf1240881ad1">
			<img decoding="async" style="border-radius: 5px; width: 200px; height: 64px;" src="https://invoicejapan.riverforest-wp.info/wordpress/wp-content/uploads/2024/03/banner-772x250-1-300x97.jpg" alt="インボイス Japan ライブサイト – テスト購入により、PDF Invoice Japan for WooCommerce の動作を体験できます。" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border2b647504be98abba465dbf1240881ad1">
			invoicejapan.riverforest-wp.info			<div class="simpleblogcard_title2b647504be98abba465dbf1240881ad1">
				インボイス Japan ライブサイト – テスト購入により、PDF Invoice Japan for WooCommerce の動作を体験できます。			</div>
							<div class="simpleblogcard_description2b647504be98abba465dbf1240881ad1">
					このサイトは、WordPress.org のプラグインディレクトリで公開されている以下のプラグインを体験するサイトです。ショップ内で商品を購入されると、メールに 適格請求書 の P&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.riverforest-wp.info/pdf-invoice-japan-for-woocommerce/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoicejapan_bankjp.mp4" length="24173959" type="video/mp4" />
<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoicejapan-fee.mp4" length="20909043" type="video/mp4" />
<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoicejapan-resend.mp4" length="16505640" type="video/mp4" />
<enclosure url="https://blog.riverforest-wp.info/wp-content/uploads/20230326/invoice-japan-mypage-email.mp4" length="16984683" type="video/mp4" />

			</item>
		<item>
		<title>百人一首を管理バーにランダムに表示するプラグイン</title>
		<link>https://blog.riverforest-wp.info/hyakunin-isshu-admin-bar/</link>
					<comments>https://blog.riverforest-wp.info/hyakunin-isshu-admin-bar/#comments</comments>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Wed, 22 Feb 2023 12:31:23 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[百人一首]]></category>
		<category><![CDATA[管理バー]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=3116</guid>

					<description><![CDATA[はじめに ChatGPT に、表題の件を作成するようにお願いしたところ以下の様になりました。 一応動くのですが、管理バーでは無く管理画面に直接表示してしまうとか、エスケープ処理がされていないとかの問題があり、結局自分で作 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>ChatGPT に、表題の件を作成するようにお願いしたところ以下の様になりました。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ede2c6&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ede2c6" class="wp-block-image aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="686" height="796" src="https://blog.riverforest-wp.info/wp-content/uploads/20230223/ChatGPT1.png" alt="" class="wp-image-3119" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20230223/ChatGPT1.png 686w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/ChatGPT1-259x300.png 259w" sizes="auto, (max-width: 686px) 100vw, 686px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ede9b8&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ede9b8" class="wp-block-image aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="671" height="797" src="https://blog.riverforest-wp.info/wp-content/uploads/20230223/ChatGPT2.png" alt="" class="wp-image-3120" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20230223/ChatGPT2.png 671w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/ChatGPT2-253x300.png 253w" sizes="auto, (max-width: 671px) 100vw, 671px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block808acbbfa878355096b51bfd80cec84a {
  float: right;
  padding: 10px;
}
.simpleblogcard_border808acbbfa878355096b51bfd80cec84a {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title808acbbfa878355096b51bfd80cec84a {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description808acbbfa878355096b51bfd80cec84a {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://openai.com/blog/chatgpt/>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border808acbbfa878355096b51bfd80cec84a">
			openai.com			<div class="simpleblogcard_title808acbbfa878355096b51bfd80cec84a">
				https://openai.com/blog/chatgpt/			</div>
							<div class="simpleblogcard_description808acbbfa878355096b51bfd80cec84a">
									</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<p>一応動くのですが、管理バーでは無く管理画面に直接表示してしまうとか、エスケープ処理がされていないとかの問題があり、結局自分で作り直す事にしました。</p>



<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/hyakunin-isshu-admin-bar/assets/icon-256x256.png?rev=2871920" alt="Hyakunin Isshu Admin Bar のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/hyakunin-isshu-admin-bar/" class="pluginstatsview-astyle">Hyakunin Isshu Admin Bar</a></div>
			<div class="pluginstatsview-small">管理バーに百人一首をランダムに表示するプラグインです。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/hyakunin-isshu-admin-bar/#reviews" title="0.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span>
			</span>
	</a>(0)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">2,597ダウンロード</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/hyakunin-isshu-admin-bar.1.17.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2023-02-27</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:29 時点の統計	</div>
</div>



<h3 class="wp-block-heading">使い方・仕様</h3>



<p>管理バーに百人一首をランダムに６０秒間隔で表示し、マウスオーバーで、作者・出典・主題を表示します。<strong>ほぼ実用性はありません</strong>。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632eefcdd&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632eefcdd" class="wp-block-image aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="658" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-1-1024x658.png" alt="" class="wp-image-3151" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-1-1024x658.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-1-300x193.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-1-768x494.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-1.png 1084w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p>若干の実用性があるものとして、表示場所に別のものを表示するフィルターフックを用意してあります。readme.txt をご覧ください。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ef0cf5&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ef0cf5" class="wp-block-image aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="659" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-2-1024x659.png" alt="" class="wp-image-3152" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-2-1024x659.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-2-300x193.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-2-768x494.png 768w, https://blog.riverforest-wp.info/wp-content/uploads/20230223/screenshot-2.png 1082w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h3 class="wp-block-heading">その他</h3>



<p>「百人一首」のデータは、以下のものを利用させていただいております。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_blockd8895712ec34d994e82f8a553e37e7e2 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderd8895712ec34d994e82f8a553e37e7e2 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titled8895712ec34d994e82f8a553e37e7e2 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptiond8895712ec34d994e82f8a553e37e7e2 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=http://www2e.biglobe.ne.jp/shinzo/shiryou/misc/benri.html>
			<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderd8895712ec34d994e82f8a553e37e7e2">
			www2e.biglobe.ne.jp			<div class="simpleblogcard_titled8895712ec34d994e82f8a553e37e7e2">
				便利なデータ（百人一首のEXCELファイルなど）			</div>
							<div class="simpleblogcard_descriptiond8895712ec34d994e82f8a553e37e7e2">
									</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<p>プラグインのアイコン・バナー画像は、以下のものを利用させていただいております。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block211463923513c0b5d79a6cd1aecb5e9a {
  float: right;
  padding: 10px;
}
.simpleblogcard_border211463923513c0b5d79a6cd1aecb5e9a {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title211463923513c0b5d79a6cd1aecb5e9a {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description211463923513c0b5d79a6cd1aecb5e9a {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://www.ac-illust.com/>
				<figure class="simpleblogcard_img_block211463923513c0b5d79a6cd1aecb5e9a">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 52px;" src="https://jp.static.ac-illust.com/main/imgs/open_grap.png" alt="無料イラスト・フリー素材なら「イラストAC」" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border211463923513c0b5d79a6cd1aecb5e9a">
			www.ac-illust.com			<div class="simpleblogcard_title211463923513c0b5d79a6cd1aecb5e9a">
				無料イラスト・フリー素材なら「イラストAC」			</div>
							<div class="simpleblogcard_description211463923513c0b5d79a6cd1aecb5e9a">
					イラストACは、無料でおしゃれなかわいい季節のイベント・人物・動物・フレーム・子供などのイラストがAI・JPEG・PNGでダウンロードできる素材サイトです。				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_blockf63744f7ad04f001f9f7ba7c0e950c57 {
  float: right;
  padding: 10px;
}
.simpleblogcard_borderf63744f7ad04f001f9f7ba7c0e950c57 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlef63744f7ad04f001f9f7ba7c0e950c57 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionf63744f7ad04f001f9f7ba7c0e950c57 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://www.photo-ac.com/>
				<figure class="simpleblogcard_img_blockf63744f7ad04f001f9f7ba7c0e950c57">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 52px;" src="https://jp.static.photo-ac.com/assets/img/open_grap.png" alt="写真素材なら「写真AC」無料（フリー）ダウンロードOK" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderf63744f7ad04f001f9f7ba7c0e950c57">
			www.photo-ac.com			<div class="simpleblogcard_titlef63744f7ad04f001f9f7ba7c0e950c57">
				写真素材なら「写真AC」無料（フリー）ダウンロードOK			</div>
							<div class="simpleblogcard_descriptionf63744f7ad04f001f9f7ba7c0e950c57">
					無料写真素材を提供する「写真AC」のフリー写真素材は、個人、商用を問わず無料でお使いいただけます。クレジット表記やリンクは一切不要です。Web、DTP、動画などの写真素材としてお使&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.riverforest-wp.info/hyakunin-isshu-admin-bar/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>セッションタイムアウトによる強制ログアウトまでをカウントダウンするプラグイン</title>
		<link>https://blog.riverforest-wp.info/countdown-to-force-logout/</link>
		
		<dc:creator><![CDATA[Katsushi Kawamori]]></dc:creator>
		<pubDate>Thu, 11 Aug 2022 22:34:51 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[カウントダウン]]></category>
		<category><![CDATA[ログアウト]]></category>
		<category><![CDATA[通知]]></category>
		<guid isPermaLink="false">https://blog.riverforest-wp.info/?p=2984</guid>

					<description><![CDATA[はじめに WordPress で会員サイトなどを運営していると、ユーザーから「強制ログアウトされた。どうなっているのか？」などと、ごくたまに問い合わせがある事があると思います。この場合は、ほぼセッションタイムアウトによる [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">はじめに</h3>



<p>WordPress で会員サイトなどを運営していると、ユーザーから「強制ログアウトされた。どうなっているのか？」などと、ごくたまに問い合わせがある事があると思います。この場合は、ほぼセッションタイムアウトによるものがほとんどだと思います。</p>



<p>WordPress では、ログイン期間が、デフォルトで４８時間、ログイン画面の「ログイン状態を保存する」にチェックを入れてログインすると１４日間になっており、その期間を過ぎるとセッションタイムアウトにより強制ログアウトされます。この期間を’<code class="language-php language-html">auth_cookie_expiration</code>’というフィルターフックを用いて変更する事ができますが、セキュリティの観点から余り長いログイン期間は好ましくなく、デフォルト、もしくは短くして運用しているサイトがほとんどだと思います。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<style>
.simpleblogcard_img_block753d1cbca2abbf9a13626af8f6b3eb98 {
  float: right;
  padding: 10px;
}
.simpleblogcard_border753d1cbca2abbf9a13626af8f6b3eb98 {
  border-left: solid 8px #cd162c;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title753d1cbca2abbf9a13626af8f6b3eb98 {
  line-height: 155%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description753d1cbca2abbf9a13626af8f6b3eb98 {
  line-height: 155%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://developer.wordpress.org/reference/hooks/auth_cookie_expiration/>
				<figure class="simpleblogcard_img_block753d1cbca2abbf9a13626af8f6b3eb98">
			<img decoding="async" style="border-radius: 5px; width: 100px; height: 52px;" src="https://developer.wordpress.org/wp-content/themes/wporg-developer-2023/images/opengraph-image.png" alt="auth_cookie_expiration – Hook | Developer.WordPress.org" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border753d1cbca2abbf9a13626af8f6b3eb98">
			developer.wordpress.org			<div class="simpleblogcard_title753d1cbca2abbf9a13626af8f6b3eb98">
				auth_cookie_expiration – Hook | Developer.WordPress.org			</div>
							<div class="simpleblogcard_description753d1cbca2abbf9a13626af8f6b3eb98">
					Filters the duration of the authentication cookie expiration period.				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>
</div>
</div>



<p>ユーザーにとっては、何の周知もなくいきなり強制ログアウトされるのは気分の良いものではありません。そこで、管理バーに強制ログアウト（セッションタイムアウト）までの期間を表示し、強制ログアウト（セッションタイムアウト）の１０分前から、さらに目立つモーダル表示を出すプラグインを作成しました。</p>



<div class="pluginstatsview-card-wrap">
	<div>
		<img decoding="async" src="https://ps.w.org/countdown-to-force-logout/assets/icon-256x256.png?rev=2769543" alt="Countdown to force logout のアイコン" class="pluginstatsview-card-icon" />
		<div class="pluginstatsview-after-icon">
			<div class="pluginstatsview-bold"><a href="https://wordpress.org/plugins/countdown-to-force-logout/" class="pluginstatsview-astyle">Countdown to force logout</a></div>
			<div class="pluginstatsview-small">強制ログアウトまでのカウントダウンをログインしている各ユーザーに管理バーへ通知します。</div>
			<div class="pluginstatsview-small">作者: <a href="https://profiles.wordpress.org/katsushi-kawamori/">Katsushi Kawamori</a></div>
			<div style="clear: both;"></div>
		</div>
	</div>
	<div style="clear: both;"></div>

	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left"><a href="https://wordpress.org/plugins/countdown-to-force-logout/#reviews" title="0.0(5点満点中)" class="pluginstatsview-astyle">	<span class="pluginstatsview-stars">
					<span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span><span class="dashicons dashicons-star-empty"></span>
			</span>
	</a>(0)</span>
		<span class="pluginstatsview-card-right">最終更新: 2日 前</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">6,135ダウンロード</span>
		<span class="pluginstatsview-card-right">検証済み: 7.0</span>
	</div>
	<div class="pluginstatsview-small">
		<span class="pluginstatsview-card-left">ダウンロード: <a href="https://downloads.wordpress.org/plugin/countdown-to-force-logout.1.10.zip" class="dashicons dashicons-download pluginstatsview-download"></a></span>
		<span class="pluginstatsview-card-right">リリース: 2022-08-11</span>
	</div>
	<div class="pluginstatsview-small pluginstatsview-card-center">
		2026-03-31 09:29 時点の統計	</div>
</div>



<h3 class="wp-block-heading">使い方・仕様</h3>



<p>プラグインをインストールして有効化するだけで表示が出ます。管理画面はありません。</p>



<ul class="wp-block-list"><li>60 秒間隔で管理バーにカウントダウンを通知します。</li><li>カウントダウンが 600 秒以下になると、モーダルウィンドウに通知されます。この秒数はフィルターフックで変更可能です。</li></ul>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632ef3f25&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632ef3f25" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="1221" height="714" data-id="2995" src="https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-1.png" alt="" class="wp-image-2995" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-1.png 1221w, https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-1-300x175.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-1-1024x599.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-1-768x449.png 768w" sizes="auto, (max-width: 1221px) 100vw, 1221px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69cc632f004dc&quot;}" data-wp-interactive="core/image" data-wp-key="69cc632f004dc" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" width="1216" height="710" data-id="2996" src="https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-2.png" alt="" class="wp-image-2996" srcset="https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-2.png 1216w, https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-2-300x175.png 300w, https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-2-1024x598.png 1024w, https://blog.riverforest-wp.info/wp-content/uploads/20220812/screenshot-2-768x448.png 768w" sizes="auto, (max-width: 1216px) 100vw, 1216px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="拡大する"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h3 class="wp-block-heading">フィルターフック</h3>



<p>モーダルウィンドウに通知される秒数をカスタマイズできます。</p>



<pre class="prism line-numbers"><code class="language-php language-html">/** ==================================================
 * Filter for countdown limit second for modal window view.
 *
 */
add_filter( 'countdown_to_force_logout_limit_sec', function(){ return 300; }, 10, 1 );</code></pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
