WeChatパブリックアカウントはグラフィックメッセージに自動的に応答します

前面に
サブスクリプション番号を記入して、vue、reactなどのクエリメッセージを受信しましたが、キーワード検索を行う気がなかったので、脇に置いておきました

ブログのホームページスタイルの問題を修正するときに、以前のブログ投稿を偶然目にしました。WeChatパブリックプラットフォームのグラフィックメッセージが自動的に生成され、WordPressプラグインについての言及があるため、サブスクリプションアカウントに自動返信機能を追加しました。

ここで〜それはこのように見えます:

WeChatパブリックアカウントはグラフィックメッセージに自動的に応答します

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パブリックプラットフォームの技術文書

おすすめ

転載: blog.51cto.com/15080030/2592693