リンクをブログカードっぽく表示させるWordPressプラグイン「Pz-LinkCard」を公式プラグインディレクトリで公開しています。
ピンバックを飛ばせないか実験中。
WordPressとピンバック
WordPressで「設定」→「ディスカッション」にある「この投稿に含まれるすべてのリンクへの通知を試みる」というのを有効にすると、記事投稿時に、記事中のリンク(Aタグ)に対して「ピンバック」を飛ばします。
ピンバックを受け取ったWordPress側で、これまた「設定」→「ディスカッション」にある「新しい記事に対し他のブログからの通知(ピンバック・トラックバック)を受け付ける」が有効だった場合、コメント欄に「ピンバック」が登録されます。
この機能を使うと、リンク先のブログは「記事を紹介された」ということが分かるわけです。
本来、WordPressのブログ同士を繋ぐ良い機能なのですが、「リンクはしてないけど、ピンバックだけ飛ばして被リンクを貰う」「記事と関係無いけど、人気サイトにリンクをして被リンクを貰う」とうような使われ方をされ、敬遠される場合もあるようです(^-^;
自分は関連記事で参考になったならピンバックを飛ばしてくれるのは大歓迎です。
自分からは上記のように「被リンク目的か?」と思われるのがこわくてピンバックを飛ばさない設定をする時期があったり、自分がピンバックを貰うと嬉しかったりするので飛ばした方が良いなと思い直したり。
何かかしらの事情でピンバックを受け取りたくないブログは無効になっているはずなので、とりあえず飛ばす設定にしておいて良いと思ったりもします。
まあ、相手がある話なので、難しいですね(^-^;
とばないピンバック
さて、WordPressでサイトを紹介するときにテキストリンクよりも見栄えの良いブログカード形式で表示するプラグイン「Pz-LinkCard」(以下、Pz-LkC)を公開しています。
自分としては便利に使っていて、過去記事もアクセスのある記事については置き換えたりしています。
さて、このPz-LkCですが、ピンバックが飛びません。
WordPressのピンバックは、「投稿」を押したときに、リンク設定されているサイトに対して飛びます。
ショートコードでURLを記述して「投稿」を押しても、リンク設定されている状態では無いので、ピンバックが飛ばない、という流れです。
ショートコードを記述するタイプ、Aタグを設定しないで直接URLを記述するタイプ、WebAPIを利用するタイプはいずれも同じような状態です。
なんとか飛ばないか実験してみる
ショートコードでURLを記述するのですが、リンク設定しているわけでは無いので、ピンバックが飛びません。
「じゃあ、リンク設定してみればいいのかな?Σ(゚ロ゚)o゙」
↓こんな感じに。
このままだと、urlパラメータの中にAタグとかが入ってしまうので、strip_tags() を使ってタグ除去をすれば…!Σ(゚ロ゚)o゙
↓結果
[link url=””] |
WordPressでリンク設定をすると、こんな感じのHTMLソースになっています。
<a href=”https://popozure.info/pz-linkcard”>https://popozure.info/pz-linkcard</a> |
つまり、こんな感じのショートコードになっていて、ダブルクォートの数が合っていないようです。
ぽぽづれ。 ぽぽづれ。 「ただいま」の挨拶よりも電源スイッチONのが先な、そんな日常を綴る『ぽぽろんのパソコンつれづれ日記(ぽぽづれ)』へようこそ。 |
WordPressが解析したパラメータはこんな感じに。
Array ( [0] => [1] => href=”https://popozure.info/pz-linkcard”>https://popozure.info/pz-linkcard” ) |
連想配列になっていないし、よく分からない範囲がパラメータになってきています。
そういえば、WordPressショートコードのパラメータはダブルクォートで囲まなくても大丈夫だったりします。
シングルクォートで囲んでみたらどうだろう?Σ(゚ロ゚)o゙
↓こんな感じで、シングルクォートでurlを囲った上でリンク設定します。
↓WordPressがパラメータを解析してくれた結果です。
Array ( [url] => https://popozure.info/pz-linkcard ) |
いい感じにリンク設定付きでURLが取得できています。
このままだとURL不正になってしまうので、strip_tags() をかけます。
source | https://popozure.info/pz-linkcard |
strip_tags | https://popozure.info/pz-linkcard |
ちゃんとリンクカードも表示されました。そして、ピンバックも飛びました。
これが正解…?
とりあえず、urlをシングルクォートで囲んで、urlにリンク設定することで、ピンバックも飛ぶようになりました。
※現時点で公開されている Pz-LkC ver1.1.1 は、URLパラメータのタグ除去を行っていないので、正常に表示されません。
しかし、Pz-LkCは、他プラグインからの乗り換えや、他プラグインへの乗り換えがし易いこともメリットとしているため、こういうアクロバティックな設定は推奨したくない感じです(^-^;
一番被害が少なさそうなのは、ショートコードをまるっとAタグで囲う方法?
HTMLソースとしてはこんな感じになります。
<a href=”https://popozure.info/pz-linkcard”></a> |
これ…ピンバックは飛びそうですが、ショートコード式のプラグインを使う「旨み」が無くなっちゃいますね(^-^;
ショートコードからピンバック飛ばすのは厳しい結果に
けっきょく、良い感じでピンバックは飛ばせませんでした。
行内にURLだけを直書きしたものをリンクカードに置き換える機能を実装すれば良いのかと思ったものの、URLを書いただけでもピンバックは飛ばないようです。
一行にAタグだけ書かれた行をリンクカードに置き換えられると良い気もするのですが…preg_match() とかでうまく判断できるのかなぁ(^-^;
Pz-LkCを含めて、ショートコード式のブログカードを使って、かつピンバックを飛ばしたい場合には、テキストリンクを組み合わせるのが一番スマートな気がします(^-^;
では(^-^)o
コメント