WordPress
About
WordPressは世界の多くのウェブサイトで使用されているCMSだ。PHPで記述されている。
WordPressの外観や挙動はPHPのプログラムを書いてカスタマイズできる。また、プラグイン機構を持ち、世界中の開発者によるプラグインを導入することで簡単にウェブサイトを拡張できる。
Install
WordPress.comなどのホスティングサービスを使用することもできるが、レンタルサーバーやVPSに設置することが好ましい。
ActivityPub
WordPressはActivityPubを実装している。WordPressへの投稿時に分散SNSにも投稿される、分散SNSからWordPressの投稿にコメントできるなどの機能がある。
WordPressの公式ホスティングサービスであるWordPress.comもActivityPubに対応している。分散SNSの中でも巨大なサーバーと言え、無視できない存在だ。
Function
Comment
Ref:
- コメントフォームの項目の文言変更と削除 | immature
- WordPress のコメントフォームを functions.php を使ってカスタマイズする
- comment_form() – Function | Developer.WordPress.org
このあたりの関数で定義されている。フィルターを挟むことで変更できる模様。
Language
WordPressで多言語対応サイトも構築できる。
情報源:
いろいろ方式があるが、サブディレクトリー形式が手軽な感じがする。
英語で情報発信できると、かなりの数のユーザーにアプローチできる。単に機械翻訳にするだけでも検討する価値はあるだろう。
広告ブロッカー対策
出典: 【WordPress編】広告ブロッカーからサイトコンテンツと収益を守る! | SEの良心。
[CHP Ads Block Detector] というプラグインで実現できるらしい。
「プラグイン: WordPressの広告ブロッカー対策CHP Ads Block Detector | GNU social JP Web」の通り、簡単にできた。
Paid Memberships Pro
PMPro。有料会員サービスを実現するプラグイン。
Single
単体記事の販売には工夫が必要。
- Sell Paid Newsletters on WordPress
- Sell Single Courses using LearnDash and PMPro
- Paid Memberships Pro Integration with WooCommerce – WordPress plugin | WordPress.org
- Paid Memberships Pro for Selling Courses
WooCommerceと連携したり、PMProの有料プラグインを使うとか。他にも方法を以前調査したの後日追記する。
理想としては、単品販売と、会員を両立したい。2個以上買うなら会員のほうがいいみたいな。
Style
「Custom Message for Non-Members on Protected Content」でペイウォールの表示内容・スタイルを制御できる。
金額変更
定期購読で販売していて、登録後に金額を変更したいことがある。
- How to raise prices on recurring memberships? | WordPress.org
- Change Plan price | WordPress.org
- How to to when member already paid ? | WordPress.org
- Change membership level for next payment in recurring subscription | WordPress.org
これは基本的にできない。定期購読は決済サービス側で登録時の金額で固定されるため。
金額を変更したければ、一度キャンセルして、再度チェックアウト・購入してもらうしかない。
既存会員に対しては、更新ではなく、期限を設けて強制的に一度退会させるのがいい。
membershipショートコード
Ref: Hide bottom register form when it has membership code block.
Source: paid-memberships-pro/shortcodes/membership.php at dev · strangerstudios/paid-memberships-pro
PMProの基本的なコンテンツ制限の概念がある。
基本は投稿全体を非表示で、excerptで冒頭部分を一部表示これが基本。membershipショートコードはこの逆で、基本全表示で一部だけ非表示。
そもそも仕組みが違う。
だから、カテゴリーで管理していて、一部だけ非表示にしたかったら、末尾にmoreブロックを配置して、membeshipショートコードも使う必要がある。二重に使わないといけない。けっこう面倒くさい。
「Custom Message for Non-Members on Protected Content」がメッセージの変更方法。ただ、制限のロジックを変更できるわけではない。別のフィルターだと思う。
ソースコードを参考に自分で実装するしかないだろう。