投稿のリンク先URLを任意のURLに変更できるプラグインについての備忘録。
この手のプラグインは「Page Links To」を使っていましたが、「VK Link Target Controller」というプラグインがあったので使ってみました。
タイトルにある、別ウィンドウで開くコードはページの最下部に書いてあります。
「Page Links To」と「VK Link Target Controller」の違い
両プラグインとも使い方はシンプルで、リンクを設定して別ウィンドウで開くかどうかにチェックを入れるだけですが、
2つのプラグインには1つだけ違いがあって、「VK Link Target Controller」には「File Link」ボタンというものがあります。
このボタンを押すとメディアライブラリが立ち上がって、アップロードしたファイルを選択できるという気の利いた機能となっています。
この機能が制作中のWEBサイトにピッタリだったので、さっそく導入しました。
「別ウィンドウで開く」が効かない
導入して動作確認を行ったのですが、「別ウィンドウで開く」にチェックを入れて何度試しても同じウィンドウで開いてしまうという現象が。
ネットで調べると「VK Link Target Controller」には以下のような注意点がありました。
※ 「別ウィンドウで開く」のチェックは、htmlで各投稿に id=”post-(投稿id)” が入っていないと同じウィンドウで開きます。
まさにこれが原因で別ウィンドウで開くことができませんでした。
ちなみに、公式の解決方法にあるようにid=”post-(投稿id)”を入れても解決できなかったので、別の解決方法を探ることにしました。
「別ウィンドウで開く」コード
解決方法を探るためにプラグインのコードを見てみると、「vk-ltc-target」というカスタムフィールドに別ウィンドウで開くかどうかの値を保持していることがわかりました。
1のときは別ウィンドウで開く、0のときは同じウィンドウで開く。
よって、以下のコードで無事に解決しました。
1 2 3 4 5 6 7 8 9 |
<?php // 別ウィンドウで開くかのチェック if(get_post_meta(get_the_ID(), 'vk-ltc-target')) { $target = 'target="_blank"'; } else { $target = ''; } ?> <a href="<?php the_permalink(); ?>" <?php echo $target; ?>>リンク</a> |