WordPressの投稿一覧を一括で開くブックマークレットを作りましたので公開します。
WordPressの投稿一覧を一括で開くブックマークレットとは?
たまにWordPressの記事一覧をひとつひとつ修正しなければならない場面があります。記事一覧のリンクをひとつひとつ手作業で開いていってもよいのですが、面倒です。それで、面倒なのはまだよいのですが、手作業の場合、記事一覧のリンクをクリックし忘れて、結果記事修正ができてないみたいなことになることもあります。
ですので、今回WordPressの投稿一覧を開くブックマークレットを作りました。以下がそのコードです。※圧縮版は投稿下部に貼り付けてます。
javascript : (function (d) { function l() { (function ($) { var count = $('.row-title').length; var posted_link = $('.row-title').attr('target', '_blank'); for(var i = 0; i < count; i++){ posted_link[i].click(); } })(jQuery) } if (typeof jQuery == 'undefined') { var j = d.createElement('script'); j.type = 'text/javascript'; j.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; d.body.appendChild(j); j.onload = l } else { l() } })(document);
WordPressの記事一覧を一括で開くコードの解説
この手のブックマークレットは探せばいくらでもあると思いますし、たぶんもっとよいやり方はあると思いますが、ブックマークレットを作成する上ではまったことや、ポイントなどを解説していきたいと思います。
Jqueryで要素のカウントを行うときはcount();ではなくlength;
jqueryで要素のカウントをおこなうときはcount();ではなくlength;です。要素のカウントをテストするためにまずは小さなコードでためしてみるのがよいのではないでしょうか?
以下のような形ですね↓
jQuery(function($){ var count = $(‘.hoge’).length; console.log(count); });
trigger.(‘click’);では動かないのでclick();を使う
jqueryにはクリックさせるとき.trigger.(‘click’)とclick();があります。こちらtrigger.(‘click’)でリンクがひらけるのかと思ったらうごかないんですよね。こちらはたぶん両者ではやってることが違うんだろうと思います。こちらの件は調べればいくらでも情報がでてくると思います。
個人的にはまったく重要な事柄ではありませんでしたのでとくに調べてません。とりあえず特定のリンクをクリックさせたい場合は
jQuery(function($){ $(‘.hoge’).click(); });
のようにすればよいのではないでしょうか?
新しいタブで開きたい。別窓で開きたくない
WordPressの投稿一覧を一括で開く件で、いろいろ調べていたのですが、どうも以下のような形のコードがでてくるんですね。
jQuery(function($){ $(‘.hoge’).click(function(){ window.open(); }) });
しかし、新しいタブで投稿編集画面を開きたいのであって、新しいウインドウで開きたいわけではありません。ですので、新しいウインドを開くwindow.open();を使いたいわけではないのです。
※今回の記事とはあまり関係ないですが、window.open();の仕様も一応載せておきましょう。おそらくよく使うことになるでしょう。
window .open( URL , ウィンドウ名 [ , オプション ] )
値 | 内容 |
---|---|
_blank | 新規ウィンドウにドキュメントを読み込む |
_self | 現在のフレーム または 現在のウィンドウにドキュメントを読み込む |
_parent | 親フレームにドキュメントを読み込む |
_top | フレーム分割時のトップフレームにドキュメントを読み込む (フレーム分割を解除することになる) |
ウィンドウ名 | <a>要素や<form>要素などのターゲット属性で使用し、ターゲットにすることができる |
第 3 引数の「 オプション 」には、ウィンドウの仕様を設定するために、下記のパラメータの値を カンマ区切りで指定します。
パラメータ | 値 | 内容 |
---|---|---|
width | 数値(ピクセル値) | ウィンドウ幅 |
height | 数値(ピクセル値) | ウィンドウ高さ |
left | 数値(ピクセル値) | ウィンドウ位置左 |
top | 数値(ピクセル値) | ウィンドウ位置上 |
menubar | yes(1) または no(0) | メニューバーの有無 |
toolbar | yes(1) または no(0) | ツールバーの有無 |
location | yes(1) または no(0) | アドレスバーの有無 |
status | yes(1) または no(0) | ステータスバーの有無 |
resizable | yes(1) または no(0) | リサイズの可否 |
scrollbars | yes(1) または no(0) | スクロールバーの有無 |
Jqueryのクリックで新しいタブを開く方法とは?
Jqueryを使ったリンクを新しいタブを開きたい場合はattr(”)を使って属性を指定してやればよいのではないでしょうか?target属性の値を_blankにしてやることによって、新しいタブでリンクを開くことができますね。
※こういうような形です。↓
jQuery(function($){ $(‘.hoge’).click(function(){ var link = $('.hoge').attr('target', '_blank'); link[0].click(); }) });
まとめ
今回はWordPressの投稿一覧を一括で開くブックマークレットを紹介しましたが、ポイントとしては、「新しいタブで開く」「trigger.(‘click’);では動かない」「要素のカウントはcount();ではなくlength;」ということでした。このあたりがわかったらあとはコードを組み立てていけばよいだけですね。
というわけで、ブックマークレットのコードだけ下記に貼り付けておきますね。作成は自分で行ってください。
javascript:(function(d){function l(){(function($){var count=$('.row-title').length;var posted_link=$('.row-title').attr('target','_blank');for(var i=0;i<count;i++){posted_link[i].click()}})(jQuery)}if(typeof jQuery=='undefined'){var j=d.createElement('script');j.type='text/javascript';j.src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';d.body.appendChild(j);j.onload=l}else{l()}})(document);
コメント