前面に
サブスクリプション番号を記入して、vue、reactなどのクエリメッセージを受信しましたが、キーワード検索を行う気がなかったので、脇に置いておきました
ブログのホームページスタイルの問題を修正するときに、以前のブログ投稿を偶然目にしました。WeChatパブリックプラットフォームのグラフィックメッセージが自動的に生成され、WordPressプラグインについての言及があるため、サブスクリプションアカウントに自動返信機能を追加しました。
ここで〜それはこのように見えます:
PSスタイルの問題は、firefoxの下で、空白:コンテナをラップしないと、float-rightサブ要素がラップすることです。firefoxは準拠していないと推測されます。詳細については、デモを参照してください。
PSさらに、firefox57は確かに以前のバージョンよりもはるかに高速です。以前は、メモリ内でChromeに打ち負かされたと感じていました。
1.プラグインの選択
以前のブログ投稿では、2つのプラグインについて説明しました。
WordPressプラグインwechat_subscribers
機能:最新の記事、ランダムな記事、検索結果などに自動的に返信します。常に無料です。
アドレス:https://github.com/Soopro/wechat_subscribers
WordPressプラグインWechat-Manager
機能:最新の記事へのキーワードの自動返信、1週間、1か月、1年で最もコメントの多い記事、記事の検索結果
アドレス:https://github.com/9IPHP/Wechat-Manager
1年以上経過した後、もう一度見に行ったところ、まだ維持されているようです。試用後、wechat_subscribersを選択しました。主な利点:
Commitは、メソッドの名前変更、クラスの名前変更、コメントのクリーン化など、より専門的で注意深く見えます。
長い変更ログがあり、信頼できると感じています
トークンの検証に合格しました(Wechat-Managerのトークンは検証できません...したがって、実際には選択の余地はありません)
短所:
ドキュメントが悪すぎて、readmeに詳細なインストール手順がなく、形式が非常に乱雑です
幸い、WeChatパブリックプラットフォームに必要なトークンは1つだけです。使用してみましたが、効果は比較的満足のいくもの
です。2。インストール手順
1.プラグインのソースコードをダウンロードします
https://github.com/ayqy/wechat_subscribers
デフォルトの開発ブランチを使用して、ダウンロードして解凍するだけです
PSWordPress 4.3.13はプロテストに使用できます。プラグインには依存関係がなく、使用されるWordPress API(get_posts、get_resultsなど)はごくわずかであるため、他のバージョンでも問題はありません。
2.インストールしてインストールを有効にし
ます。インストールが完了している場合でも、解凍したフォルダーをftpのwordpress / wp-content / pluginsディレクトリにドロップします。
有効化:WordPressの背景を入力し、左側のメニューからプラグインを入力し、「WeChatサブスクリプションアカウント管理」を見つけて有効にします
次に、トークンを介してWeChatパブリックプラットフォームにアクセスする必要があります。3。
トークンの
操作手順を構成します。
バックエンドの左側のメニューで「WeChatサブスクリプションアカウント管理」を見つけ、「プラグイン設定」と入力します
トークンを入力し、変更を保存すると、URLが取得されます
WeChatパブリックプラットフォームのバックエンドを入力し、左側の[開発/基本構成->サーバー構成/構成の変更]に「URL」と「トークン」を入力し(前の手順で取得したURLと入力したトークンを使用)、ランダムにEncodingAESKeyを生成し、「プレーン」を選択します。モード」、送信
(送信が成功すると前のページに戻ります)サーバー構成を有効にすると、パネルのステータスが「サーバー構成(有効)」に変わります。
この時点で、トークンが構成されます(2つの当事者は、確立された「合意」に従って信頼関係を確立しました)
4.自動返信ルール
を試用段階に追加し、WordPressバックエンドに入り、左側に「WeChatサブスクリプションアカウント管理/カスタム返信->新しい返信を追加」
プラグインは、3つのトリガーメカニズム(メッセージマッチングメカニズム)を提供します。
通常:ファジーキーワードマッチング
デフォルト:他のルールが一致しない場合のデフォルトのケース
サブスクリプション:新しいフォロワーが追加されたときにトリガーされます
たとえば、次のテストルールを追加します。
回复标题 test
关键字 测试,test,t
触发 普通
发布 勾选
类型 纯文本
内容 hoho
保存して終了すると、WeChatはサブスクリプションアカウントを入力して「testor test or t」を送信し、すぐに「hoho」という応答を受け取ります。
返信メッセージの形式は次をサポートします。
プレーンテキスト
グラフィックメッセージ:WeChatパブリックプラットフォームのグラフィックメッセージに似ていますが、写真や記事へのリンクがあります
最近のニュース:最新の記事
ランダムメッセージ:いくつかの記事をランダムに選択します
検索キーワード:サイト検索結果
最も便利なのは、ユーザーが必要とするブログ投稿のリストを破棄できる検索キーワードです。もちろん、基本的な機能も優れています。
3.検索結果の最適化
再生してみると、応答結果が次のようなクエリキーワードにあまり関連していないことがわかりました。
关键字 redux
结果
MobX
react-redux源码解读
dva
プラグインはデフォルトでWordPressネイティブAPIget_postsを使用し、リリース日でソートされているため、得られる結果はあまり科学的ではありません。MobXとdvaはコンテンツに少しだけ言及しており、それらも含まれています。
はい、検索結果の関連性を改善する必要があります。最も直接的なアイデアは、重みを付けてから、次のように重みで包括的に並べ替えることです。
匹配项 权重
标题 3
分类 1
tag 1
内容 0.5
评论 0.3
すべて一致する記事のリストは重みで計算され、降順で並べ替えられます。これが私が望む結果です。対応するPHPコードは次のとおりです。
// from interface.php/getSearchPosts
// ID, post_content, post_excerpt, post_title
// extra: post_type, post_modified
$posts = $wpdb->get_results($wpdb -> prepare("select ID,post_content,post_excerpt,post_title,post_type,post_modified from db_wp_posts where post_status = 'publish' order by ((CASE WHEN post_title LIKE '%{$keyword}%' THEN 2 ELSE 0 END) + (CASE WHEN post_content LIKE '%{$keyword}%' THEN 1 ELSE 0 END)) DESC, post_modified DESC, ID ASC limit $re_count"));
db_wp_postsテーブルで公開された記事からキーワードに一致するタイトルとコンテンツを見つけ、それらに重みを付け(タイトルの重み2、コンテンツの重み1)、降順で並べ替えて、最初の$ re_countクエリの結果を取得します
ここではSQLの単純なケース関数が使用されていることに注意してください。これは非常に柔軟なトリックです。
4.ソース
Githubアドレス:https://github.com/ayqy/wechat_subscribers
構造
wechat_subscribers/
css/
img/
js/
language/ # 多语言支持,WordPress插件惯用的pm,po文件
__wechatsucks__.php # 黑科技,token验证不通过时可以试试
_edit.php # 和下面3个都是后台页面及配置表单
_general.php
_history.php
_settings.php
ajax_request_handle.php # 配置表单需要的博文列表,现查
class-wpwsl-general.php # 注册新增规则页
class-wpwsl-history.php # 消息记录页
class-wpwsl-history-table.php # 注册消息记录页
class-wpwsl-list-table.php # 博文表格交互,排序/分页
class-wpwsl-settings.php # 注册到左侧菜单
content.php # 插件首页,都是废话
index.php # 没用
interface.php # **核心部分** 站内搜索,收发消息
posttype_wpwsl_template.php # 后台配置数据格式
wpwsl_core.php # 插件入口,注册
Todo
フォークはいくつかのことをするためにここに来ました:
readmeを書き直します(元のバージョンは異常すぎるため、使用したくありません)100%
検索結果は関連性でソートされます(デフォルトでは日付でソートされます)100%
拡張機能0%
キーワードは型定数(数値など)をサポートします
サポートコマンド(メッセージ、topNなど)
興味深い機能(音声クエリなど)
WordPressのget_postsを次のようなタイトルで参照します
WordPressの内部検索を改善する方法:WordPress搜索插件
WeChatパブリックプラットフォームの技術文書