Search results for:

新環境のさくらスタンダードへ移りました

春ごろにさくらのレンタルサーバが新構成に更新されたというころで、さくらのスタンダードからさくらのスタンダードへ移転しました。
とても快適(*´д`*) WordPress管理画面の体感では5倍以上速い。ついでにhttpsにしました。

旧環境は、最初は静的HTMLと掲示板CGI、後にBlosxom、ファイル操作をミスって日付がおかしくなったあたりからWordPressを使うようになりました。
この環境でWordPressを使うにはなかなか重荷で、PHP5.6未満の頃はAPCuとかOPcacheを別途makeしてみたり(CGIモードだったので効果無かったのですが…)キャッシュプラグインをあれこれ入れてみてなんとか凌いでました。

2004年から14年間、趣味にお仕事に支えていただいた旧環境、本当にありがとうございました。
これからも新環境でどうぞよろしくお願いいたします。


今年もあと幾日となりましたが(略

昨年は多方面で多くの方に助けていただいたので、今年は同じくらい誰かを助けたい。

今年もよろしくお願いいたします m(_ _)m


ぶん投げて止める手榴弾型目覚まし

以前、「ぶん投げても大丈夫っぽい目覚まし」を紹介しましたが、今度のはもっとすごい。
アリソン女史ティー殿のために作ったかのような、素晴らしい最良のソリューションが登場(ぇー
しかも、壁を傷つけたり周囲を破壊しない安心設計。

床などに投げつけるとアラームが止まる「投げて止める!目覚まし時計」が10月上旬に発売される。「手榴弾タイプ」「野球ボールタイプ」「サッカーボールタイプ」の3種類。
(中略)
ボディはポリ塩化ビニル製で柔らかく、衝撃に耐えられる設計にした。

投げて止める手榴弾型目覚まし時計 – ITmedia News

■追記070905

アリソン女史が壁に投げつけたのはリリトレに入ってからでしたね。


070717 :: ぶん投げても大丈夫っぽい目覚まし

アリソン氏が起き抜けに壁へぶん投げても大丈夫っぽい時計の登場(ぉ

カシオの社内テストでは、高さ1mより、硬質木版上に6面、各1回落下させて問題がなかったという。
さらに、標準電波を受信するアンテナが樹脂で保護されていたり、電池カバーがネジ止めになっているなどどの配慮がされている。
(中略)
高い場所に目覚まし時計を置く人や、起き抜けのイライラを時計にぶつける人、枕元の時計を蹴飛ばしてしまう人は検討してみる価値があるだろう。

家電Watch :: やじうまミニレビュー カシオ計算機「ウェーブセプター GQ-1000」


Claude.ai のチャット画面をきっちり印刷したい時のブックマークレット

■ ブックマークレット

文末のスクリプトを const → var にして、minifyしました。

javascript:var printStyle=`@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important;background-image:none!important;border-color:transparent!important}::after,::before{opacity:0!important}.fixed,[class*=shadow-],body,div[class*=bg-],html{background:0 0!important;box-shadow:none!important;color:#000!important}.absolute,.sticky{display:none}.fixed{position:absolute}.h-screen,.min-h-screen{height:auto}.rounded-2xl{border:1px%20solid%20#000!important}}%20`,printStyleElement=document.createElement("style");printStyleElement.textContent=printStyle,document.body.appendChild(printStyleElement),window.print();

■ きっかけ

高木先生のポスト。そういえばたしかに全体を印刷できない…

■ 原因

画面大枠の高さが 100vh と決められてしまっているのが厄介っぽい。

■ 解決案

コンソールで印刷用のスタイルシートを注入する。
ついでに印刷向きのスタイルを色々適用してみる。

const printStyle = `
  @media print {
    *, *::before, *::after { text-shadow: none !important; box-shadow: none !important; background-image: none !important; border-color: transparent !important }
    *::before, *::after { opacity: 0 !important }
    html, body, .fixed, [class*="shadow-"], div[class*="bg-"] { background: transparent !important; box-shadow: none !important; color: #000 !important }
    .absolute, .sticky { display: none }
    .fixed { position: absolute }
    .h-screen, .min-h-screen { height: auto }
    .rounded-2xl { border: 1px solid #000 !important }
  }
`;
const printStyleElement = document.createElement('style');
printStyleElement.textContent = printStyle;
document.body.appendChild(printStyleElement);
window.print();

colorfulbox や mixhost で AWS CLI v2 を使う

お仕事で必要になったのでメモ。
AWS CLI v1 は Python アプリのために、現行バージョンをカラフルボックスで使うにはPython3.6以降を利用するための下ごしらえが必要になったり、Pythonアプリ起動の前のおまじないが必要になったりと工夫が必要だったのですが、

source /home/******/virtualenv/python/3.9/bin/activate && cd /home/******/python

AWS CLI v2 ではネイティブで起動できるようになったことで、ぐっと敷居が下がりました。とてもありがたい…

参考 : AWS CLI の最新バージョンをインストールまたは更新します。 – AWS Command Line Interface

# 所定のディレクトリを掘る
cd ~;
mkdir .local/aws-cli;
mkdir .local/bin;

# インストール用の作業ディレクトリを掘る
mkdir src;
cd src;

# パッケージをダウンロードする
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip";
unzip awscliv2.zip;

# インストール
# colorfulbox や mixhost は ~/.local/bin に入れるとパス通しの手間が不要です
# コピー先・参照先ともユーザーのホームディレクトリ内とするので sudo の必要はありません
./aws/install -i ~/.local/aws-cli -b ~/.local/bin;

# 念のため確認
which aws;
aws --version;

# 接続設定
aws configure;

OpenTypeフォントから常用漢字サブセットのウェブフォントを生成するメモ

目的

源ノ明朝をウェブフォントとして利用したいけどハイパー重いので、ひらがな・カタカナ・よく使う英数記号・常用漢字だけを抜き取って書き出したい。

下準備

あらかじめPythonがインストールされている環境で(MacだとHomebrewで入れるのが良さそう)、fonttools と brotli をインストール。

> pip install fonttools brotli

作業

以下の例は源ノ明朝のサブセットを作る流れです。

  1. 最新フォントデータをダウンロードする
    https://github.com/adobe-fonts/source-han-serif/tree/release/OTF/Japanese
  2. 収録する文字を用意する。例) subset_joyo.txt
  3. 各ファイルを適当なディレクトリにまとめて、pyftsubsetに投下。
    (以下は SourceHanSerif-Medium を SHS-M-joyo として書き出す例)

    > pyftsubset ./SourceHanSerif-Medium.otf --text-file=./subset_joyo.txt --layout-features='*' --flavor=woff --output-file=./SHS-M-joyo.woff
    > pyftsubset ./SourceHanSerif-Medium.otf --text-file=./subset_joyo.txt --layout-features='*' --flavor=woff2 --output-file=./SHS-M-joyo.woff2

結果

概ね現実的なサイズまで小さくなりました。

  • woff : 1.7MB
  • woff2 : 1.4MB

Click here to read more »


Amazonの商品ページURLを短くする雑なブックマークレット(今さら)

(追記) Prime Videoで動かないなーと思ったら [name=”itemId”] だったのでセレクタを追加しました。
(追記2) またもやPrime Videoで動かないのでセレクタを追加しました。
(追記3) 変数を一部誤ってたようで恥ずかしい… co.jp以外でも使いたいので location.hostname を参照するようにしました。
(追記4) シリーズ表示(例:土星マンション, 瑠璃宮夢幻古物店)用のセレクタを追加しました。
(追記5) 最初から #cr-state-object のJSONを参照すれば良かったのでは、ということで内容をすっきり変更。
(追記6) Prime Videoで使われている [name=”titleID”] を追加

手垢が付きまくった小ネタ。
最初、URLを分解して抜き出すみたいなことをやってたのですが、ページ内のフォーム要素に記載されているようなのでそちらを利用することにします。
PCやスマホ画面を眺めてみると、商品コードが収まる <input type=”hidden”> 要素のnameが ASIN.0 とか ASIN とか asin などまちまちだったので、 document.querySelector に全てのセレクタをつっこんで、見つかったものを摘めばシンプルでよかろうと思いました。
なんやかんやで結局シンプルに、 #cr-state-object 要素のJSONをパースして、商品コード asin を抜き出し、無ければフォーム要素から抜き出すようにしてみました。

javascript:!function(){var e,t=window.location.hostname,a=document.querySelector("#cr-state-object");(e=a?JSON.parse(a.getAttribute("data-state")).asin:document.querySelector('[name="ASIN.0"],[name="ASIN"],[name="asin"],[name="itemId"],[name="titleID"]').value)&&(location.href="https://"+t+"/dp/"+e)}();

上のブックマークレットは、以下のコードをJavaScript Minifierに通しました。

(function(){
  var asin,
    h = window.location.hostname,
    state = document.querySelector('#cr-state-object');
  if ( state ) {
    asin = JSON.parse( state.getAttribute('data-state') ).asin;
  } else {
    asin = document.querySelector('[name="ASIN.0"],[name="ASIN"],[name="asin"],[name="itemId"],[name="titleID"]').value
  }
  if ( asin ) location.href = 'https://'+h+'/dp/' + asin;
})();

[CSS小ネタ] どうしても本文に游ゴシックを使いたい時のCSS指定

追記 20180416

最近のChromeのバージョンでは、以下サイトの方法が最良です。

必要な時はしばらくこんな具合で使ってみます。

font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Meiryo, Verdana, sans-serif;

※ここから下は現在参考になりませんのでご留意ください。

参考サイト

以外と厄介なんですね…

妥協案

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"),local("Yu Gothic");
  font-weight: 500;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"),local("Yu Gothic");
  font-weight: bold;
}
body {
	font-family: "Yu Gothic", YuGothic, sans-serif;
}

たまにこんな塩梅で使っています。

body {
	font-family: "Yu Gothic", YuGothic, "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, Verdana, sans-serif;
	font-feature-settings: 'pkna';
	letter-spacing: 0.5px;
}

比較画像を作ってみました。

游ゴシックは16px未満だと本文書体としては厳しそう。


2017

「酉」 謹賀新年 旧年中はひとかたならぬご厚情を賜り誠にありがとうございました。本年も何卒よろしくお願い申し上げます。

明代の文人、文徴明氏の「酉」をお手本にしました。


[WordPress小ネタ] メディアファイルのアップロード時に自動付与されるタイトル・キャプションを空欄で登録する機能

function media_upload_default( $post_ID ) {
    $args = array( 
                    'ID'           => $post_ID, 
                    'post_title'   => '', 
                    'post_excerpt' => '', 
                    'post_content' => '', 
            );

    wp_update_post( $args );

}
add_action( 'add_attachment', 'media_upload_default' );

下記サイトを参考にしました。

How can I add a default description to uploaded files?
http://wordpress.stackexchange.com/questions/121709/how-can-i-add-a-default-description-to-uploaded-files


Twitterの投票機能付き投稿をAPIで取得してみた

そういえば@TwitterJPの最初の投票機能付き投稿API越しではどう見えるか気になったので、取得してみました。
結果、投票があったかどうかすら分からない…

Twitterとしてはサイトか公式クライアント使ってほしいだろうし、APIでは提供しないのかな。

stdClass Object
(
    [created_at] => Thu Oct 22 07:49:56 +0000 2015
    [id] => 657101565237432320
    [id_str] => 657101565237432320
    [text] => みなさんのアカウントには新しい投票機能が入りましたでしょうか?まだの方は、数日中に追加されるはずですので、もう少々お待ちください。
投票機能はこんな風にご利用いただけます。

好きなのは…
    [source] => <a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>
    [truncated] => 
    [in_reply_to_status_id] => 
    [in_reply_to_status_id_str] => 
    [in_reply_to_user_id] => 
    [in_reply_to_user_id_str] => 
    [in_reply_to_screen_name] => 
    [user] => stdClass Object
        (
            [id] => 7080152
            [id_str] => 7080152
            [name] => TwitterJP
            [screen_name] => TwitterJP
            [location] => 東京都中央区
            [description] => 日本語版Twitter公式アカウントです。
            [url] => https://t.co/A9dNuL0CCa
            [entities] => stdClass Object
                (
                    [url] => stdClass Object
                        (
                            [urls] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [url] => https://t.co/A9dNuL0CCa
                                            [expanded_url] => http://blog.jp.twitter.com
                                            [display_url] => blog.jp.twitter.com
                                            [indices] => Array
                                                (
                                                    [0] => 0
                                                    [1] => 23
                                                )

                                        )

                                )

                        )

                    [description] => stdClass Object
                        (
                            [urls] => Array
                                (
                                )

                        )

                )

            [protected] => 
            [followers_count] => 1972807
            [friends_count] => 70
            [listed_count] => 16500
            [created_at] => Tue Jun 26 01:54:35 +0000 2007
            [favourites_count] => 59
            [utc_offset] => 32400
            [time_zone] => Tokyo
            [geo_enabled] => 
            [verified] => 1
            [statuses_count] => 3346
            [lang] => ja
            [contributors_enabled] => 
            [is_translator] => 
            [is_translation_enabled] => 
            [profile_background_color] => C0DEED
            [profile_background_image_url] => http://pbs.twimg.com/profile_background_images/567482719571959809/WwgdnJCP.jpeg
            [profile_background_image_url_https] => https://pbs.twimg.com/profile_background_images/567482719571959809/WwgdnJCP.jpeg
            [profile_background_tile] => 1
            [profile_image_url] => http://pbs.twimg.com/profile_images/3407356865/62f0d53222361fbd2c1fe9889f4cc559_normal.png
            [profile_image_url_https] => https://pbs.twimg.com/profile_images/3407356865/62f0d53222361fbd2c1fe9889f4cc559_normal.png
            [profile_banner_url] => https://pbs.twimg.com/profile_banners/7080152/1445475230
            [profile_link_color] => 0084B4
            [profile_sidebar_border_color] => FFFFFF
            [profile_sidebar_fill_color] => DDEEF6
            [profile_text_color] => 333333
            [profile_use_background_image] => 1
            [has_extended_profile] => 1
            [default_profile] => 
            [default_profile_image] => 
            [following] => 
            [follow_request_sent] => 
            [notifications] => 
        )

    [geo] => 
    [coordinates] => 
    [place] => 
    [contributors] => 
    [is_quote_status] => 
    [retweet_count] => 8507
    [favorite_count] => 2675
    [entities] => stdClass Object
        (
            [hashtags] => Array
                (
                )

            [symbols] => Array
                (
                )

            [user_mentions] => Array
                (
                )

            [urls] => Array
                (
                )

        )

    [favorited] => 
    [retweeted] => 
    [lang] => ja
)

【解決済】さくらのレンタルサーバでPHP5.6を使用すると、file_get_contenst等でSSLエラーになることがある件と、当座の解消法

★追記:2016-04-30

さくらのレンタルサーバの「標準のPHP」が5.6になってたので、改めて確認したところ、SSLエラーは解消されていました。

さくらのレンタルサーバ・さくらのマネージドサーバにて標準のPHP[PHP5] のバージョンを変更します
http://support.sakura.ad.jp/mainte/functionaddentry.php?id=17892

−−−−−−−−−− 以下、解消前の記事 −−−−−−−−−−

スクリーンショット 2015-09-02 10.02.18

しばらく前から、さくらのレンタルサーバでPHP5.6が選べるようになって大変嬉しいのですが、PHP5.6からSSLの扱いが変更になったことと、サーバの証明書の関係で、readfilefile_get_contents などでHTTPSなURLを参照すると、下記のようなエラーになることがあります。

Warning: readfile(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /foo/var/ssl_test.php on line 1

Warning: readfile(): Failed to enable crypto in /home/foo/bar/ssl_test.php on line 1

Warning: readfile(https://tbx.sakura.ne.jp/test.txt): failed to open stream: operation failed in /home/foo/bar/ssl_test.php on line 1

PHP5.6に設定した後から、他所のファイル読込みやPOSTが一部できなくなって、調べてみたら上記のようなエラーがありました。

root権限のないサーバではやれることに制限があるものの、HTTPSなファイルの読込みを維持したいので、ひとまずは以下のいずれかの方法で解決します。
サポートへリクエストを送ったので、いずれ解消されると思います。

  1. ピア証明書の検証を行わない。 任意の証明書を読ませるオプションを追記する

    php – file_get_contents(): SSL operation failed with code 1. And more – Stack Overflow

    (追記)
    この次の方法でエラーが解消されない場合は、ソースコードをいじることになりますがこの方法が適しています。
    検証を迂回するのはさすがにまずいですね…

  2. php.ini に新しい証明書を認識させる

    ComposerからLaravelを導入しようとしてOpenSSL周りのエラーで困った件 – Qiita

    さくらはphp.iniを編集できるので、新しい証明書を認識させてやります。

    新しい証明書を cacert.crt などにリネームし、適当なところへ配置して下記のようにフルパスを記述します。

    curl.cainfo=/home/foo/bar/cacert.crt
    openssl.cafile=/home/foo/bar/cacert.crt


livedoor blogからWordPressへ移転する際のパーマリンクに関するメモ

ライブドアブログからWordPressに記事を移転するお仕事した際、なるべくURLを変えたくないなーと思ったのでやってみた作業メモ。

  1. 下準備
  2. WordPress側の設定
    • パーマリンク設定: /archives/%postname%.html
  3. インポート
    • WordPressは、標準でMT形式のインポート機能を追加できる。[ツール > インポート]
    • 環境によっては非常に時間がかかる。
      取込み試験を行ったさくらスタンダードでは、1件につき5秒くらい。ローカル環境では、30分で300件ほど。
    • 取り込んだ後、URLが従前と同じ形式が確認してみる。
  4. ライブドアブログ側のコメントを閉じる。
  5. DNS設定を変更し、移転完了。

パーマリンクの様式をなるべく引き継いだ場合、ひとつ面倒くさくなるのがスラッグの設定。
インポート時、ライブドアブログの記事IDを post_id にできないかといろいろやってみたのですがうまくゆかず、通常通り postname に収めることになったのですが、パーマリンクを post_id ではなく postname にすると、新規投稿を登録するたびにスラッグを設定する必要が生じます。
特に何も考えないと、今まで記事IDだった短いURLが、タイトルから再構成された長ーいものになってしまいます。しかし毎回固有IDっぽいのを割り当てるのも非常にめんどい。
スラッグへIDっぽい文字列を自動で割り当てられたら便利なので、下記サイトのコードを参考にしました。

WordPress の投稿スラッグを自動的に生成する | Simple Colors
http://www.warna.info/archives/2317/

私の場合はこんな塩梅に変更して functions.php に追記しました。

function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
	if ( $post_type == 'post' && $post_ID > 0 ) {
		$slug = 60000000 + intval($post_ID);
	}
	return $slug;
}
add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4  );

$post_type == ‘post’ の部分を入れておかないと、固定ページほかあらゆる投稿タイプでスラッグが自動入力されてしまいます。
投稿タイプがpostの場合、WordPressの記事IDに60000000を足した文字列をスラッグに登録します。
60000000は適当です。今現在のライブドアブログ側記事IDが52000000あたりなので、キリの言い数字でスタートすれば分かりやすいかなというふわっとした理由によるものです。
ライブドアブログ側での最終更新の記事IDにちょっと足した数値でも良いでしょう。

記事インポート時はスルーしたいため、 $post_ID > 0 も加えました。
インポート時、wp_insert_post() が動く際には記事IDが確定していないため、$post_idは 0 のままこのフィルタに渡されます。こうしておくとインポート時にはスルーされるようになります(多分)

以上、参考になれば幸いです。


WordPress4.1.1→4.1.2以降/4.2以降にアップデートすると新規投稿できない問題と解消方法のメモ

確認した事象

  • ちょっと古くから使っているWordPressのサイトにおいて、WordPress4.1.1から4.1.2以降へアップデートすると、新規投稿できない/既存記事を更新すると文字化けする。

原因っぽいこと

  • DBがujisのまま
  • DBはutf8だが、一部テーブルのCHARSETがujisのまま(textboxはこのケース)

確認しておくこと

  • DBのダンプデータをエディタ等で開き、「CHARSET=ujis」を検索する。問題が発生している場合、たぶん見つかる。
    (textboxの場合、25テーブル中10あった)

対処方法

  • 暫定措置

    下記フォーラムを参照。
    https://ja.forums.wordpress.org/topic/150103#post-208912
    WordPress4.2.1では2593行目を修正。
    https://core.trac.wordpress.org/browser/tags/4.2.1/src/wp-includes/wp-db.php#L2593

  • ここでやってみた対処方法

    フォーラムにはCHARSETを変換するのが良さそうとあったので、この際だからきちんとやってみる。

    • 作業前提
      • DBは charset utf8 にしてあった
    • やったこと
      • mysqldumpするかphpmyadminでエクスポート
      • 書き出したデータを開いて、CHARSET=ujis を CHARSET=utf8 に置換
      • utf8なDBを新たに作ってインポート
      • wp-config.php のDB設定を変更して再ログイン
      • 新規投稿できるか確認する

うまいこと投稿できるようになりました。ありがとうございました。


QuickCacheがZenCacheになった

Image 2015-03-16 at 3.05.36 午後

WordPressのキャッシュプラグイン「QuickCache」の有料版がとても便利なので、「QuickCache Proを使うべきn個の理由」みたいな記事をいずれ書こうと思ってたら、「ZenCache」になって価格設定が変わり、有料版を少し勧めづらくなってしまいましたが、今のお仕事では欠かせないプラグインです。

キャッシュの生成条件が柔軟で、UserAgentやCookieの値によって別々のキャッシュを生成できるので、端末や任意の機能による表示切替が容易に行えて便利です。
他のキャッシュプラグインは分からないのですが、 require(‘wp-load.php’); が入っている外のページもキャッシュしてくれます。

従前のライセンスを購入してる人は、自動的に3年間のUnlimited-Site Licenseが与えられてるので、ちょっとお得。

マルチサイト運用の場合、一部の不具合が残っているので、ZenCacheに移行する際はご注意ください。

あとこれも。


Source Han SansとNoto Sans Japaneseをfont-familyに適用してみる

日本語入り能登さんとソースさんをfont-familyで使ってみるテスト。

Noto Sans Japanese

font-family: "Noto Sans Japanese",  sans-serif;
font-weight: normal;

sample1b

Source Han Sans

font-family: "Source Han Sans", sans-serif;
font-weight: normal;

sample1a

font-weight:normal の場合はどちらも変わりないのですが、font-weight:100 の場合はちょっと違いました。

Noto Sans Japanese

font-family: "Noto Sans Japanese", sans-serif;
font-weight: 100;

sample2b

Source Han Sans

font-family: "Source Han Sans",  sans-serif;
font-weight: 100;

sample2a

Source Han Sans の場合は ExtraLight が表示されるのに対し、Noto Sans Japanese は Thin じゃなくて Light の模様。

ついでに16pxで100から900まで指定してみる。

Noto Sans Japanese (16px)

Source Han Sans (font-size 16px)

そのままではWebフォントとして使用できるサイズではないので、サブセットを書き出してどこかで使ってみたい。


cookieテスト

内容が表示されました。


[WordPress小ネタ]ページスラッグとユーザIDが同じ場合のみcontentを見せる方法

WordPressのフォーラムを潜ってたら下記のスレッドを見かけて、ちょっと試してみました。

ユーザー名「hogehogesan」が居たとして、
WordPressの固定ページでスラッグ名「hogehogesan」を作成。
http://example.com/hogehogesan/

page.php の get_header(); の前に、auth_redirect(); を入れて、強制的に認証させておき、
the_content() の所を下記のようにしておけば、上記固定ページはユーザー名「hogehogesan」のみ閲覧でき、他の人は「hogehogesanさん専用ページです」と表示されるというもの。

global $current_user;                  // ログインしているあなた
get_currentuserinfo();                 // あなたの情報を取得
$uname = $current_user->user_login;    // ユーザー名を取得
$slug = get_page($page_id)->post_name; // このページのスラッグを取得

if($uname==$slug){  // ユーザー名とスラッグが一緒ならcontentを表示する
	the_content();
} else {            // 違ったらエラー表示
	echo $slug."さん専用ページです。";
}

パスワードは管理者が固定ページに設定するのではなく、ユーザーごとに管理してもらった方が、漏れた時に管理者の責任が多少は少なくなるという考えなので、こんな塩梅が良いのではと思った次第です。


うっかり

メンテ中のままにしてました…(;´Д`)
中身いじってただけで更新は何もありませぬ。