aka) Author: Christian Davén Version: 2.0 Author URI: http://www.daven.se/usefulstuff/ */ # adds an options page to the options menu function SUP_add_options_page() { if(function_exists("add_options_page")) add_options_page("Smart Update Pinger", "Smart Update Pinger", 5, basename(__FILE__), "SUP_show_options_page"); } # shows the options page function SUP_show_options_page() { $ping = get_option("SUP_ping"); $uris = get_option("ping_sites"); $pingservicesnow = "今すぐ ping を送信!"; if(isset($_POST["ping"]) && $_POST["ping"] == $pingservicesnow) { SUP_log("手動で ping を送信中 ..."); SUP_ping_services(); } elseif(isset($_POST["submit"])) { $uris = $_POST["uris"]; $ping = 0; if($_POST["ping"] == 1) $ping = 1; update_option("SUP_ping", $ping); update_option("ping_sites", $uris); echo '

設定を保存しました.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

ping 送信先のサーバ

以下に登録されている ping サーバへは記事を投稿する際,自動的に ping 送信や更新通知がなされます。WordPress が通常行うような,以前書いた記事の編集時ではありません

注意: このリストは オリジナルのアップデートサービスリストと同期します。.

複数サーバを登録する際は改行で URI を分けて下さい

Ping 送信ログ

このプラグインのログです(下に行くほど新しいログです)

'.SUP_get_last_log_entries(20).'

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (新規の記事の投稿) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” の設定が変更されました)"); else SUP_log("NOT pinging services (記事が編集されました)"); } } else SUP_log("NOT pinging services (管理者が ping 送信を無効にしています)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." への ping 送信が成功しました (拡張フォーマット)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." への ping 送信が成功しました"); } else { SUP_log("- ".$server." への ping 送信が失敗しました。 以下のエラーメッセージが返されました: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/plugins/smart-update-pinger/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> Webクリエイターズマニュアル
このサイトはJavaScriptがオンになっていないと正常に表示されません
Webクリエイターとしての必要な知識が身につくマニュアルサイト。

新着Webデザインマニュアル

デザイナーだから考える。青色が与える27の効果と7つの活用例

デザイナーだから考える。青色が与える27の効果と7つの活用例
アーカイブ:2012年08月23日
今年のお盆休みは友人と旅行に行ったり、ボルダリングの体験をさせてもらったりしていて、ブログの更新が疎かになっていました。...
デザイナーだから考える。青色が与える27の効果と7つの活用例の続きを読む

私が出会った優秀なWebデザイナーに共通した26の特徴

私が出会った優秀なWebデザイナーに共通した26の特徴
アーカイブ:2012年08月13日
優秀なWebデザイナーって何だろう。と考えたことはありませんか?私は昔からそんなことを考えているんですが、最近、優秀なW...
私が出会った優秀なWebデザイナーに共通した26の特徴の続きを読む

クリック率・コンバージョン率を高めるボタン。3つの大きなポイント

ボタンデザインを考える。コンバージョン率・数を高めるボタン
アーカイブ:2012年08月06日
WEBサイトを運営していれば、サイトに訪れてくれたユーザーに【申し込み】【購入】【資料請求】【問い合わせ】などのアクショ...
クリック率・コンバージョン率を高めるボタン。3つの大きなポイントの続きを読む

色だけでダメなデザインを良いデザインに変える方法Vol.2

色だけでダメなデザインを良いデザインに変える方法Vol.2
アーカイブ:2012年07月08日
今日は日曜日ですね。皆さんは休日をどのように過ごしていますか?制作業って休日も仕事をしなければならない時がありますよね。...
色だけでダメなデザインを良いデザインに変える方法Vol.2の続きを読む

デザイナーだから考える。赤色が与える27の効果と6つの活用例

7562
アーカイブ:2012年07月03日
今年の5月末に、友人5人と鎌倉にお寺・神社巡りの旅行に行かせていただいたんですが、そのたびの途中、ちょうど鳥居をくぐりぬ...
デザイナーだから考える。赤色が与える27の効果と6つの活用例の続きを読む

配色に悩んだときに、きっと役立つ7つの配色技法【基本】

配色に悩んだときに役立つ7つの配色技法【基本編】のイメージ
アーカイブ:2012年06月29日
私は「色」が好きなので、配色を考えるのがそんなに苦ではないんですが、良い配色が思い浮かばず、苦しんでいるWebデザイナー...
配色に悩んだときに、きっと役立つ7つの配色技法【基本】の続きを読む

新着Webディレクターマニュアル

新人WEBディレクターに教えたい。オリエンテーションとヒアリング

新人WEBディレクターに教えたい。オリエンテーションとヒアリング
アーカイブ:2012年08月31日
以前WEBディレクターの仕事について簡単に記事にしましたが、今回からもう少し詳しく、1つ1つの仕事について紹介させていた...
新人WEBディレクターに教えたい。オリエンテーションとヒアリングの続きを読む

目的を達成させるための最適なWebサイトのタイプ(種類)

目的を達成させるための最適なWebサイトのタイプ(種類)
アーカイブ:2012年07月26日
先日[ホームページ成功への道はすべてここから始まる。目的・目標の明確化]を書かせて頂いたんですが、「目的が決まっても、目...
目的を達成させるための最適なWebサイトのタイプ(種類)の続きを読む

ホームページ成功への道はすべてここから始まる。目的・目標の明確化

ホームページ成功への道はすべてここから始まる。目的・目標の明確化
アーカイブ:2012年07月19日
実際にホームページを作り始める前に、プロのWEBクリエイター達がもっとも意識する点は、おそらく【Webサイトを制作する目...
ホームページ成功への道はすべてここから始まる。目的・目標の明確化の続きを読む

Webアクセシビリティを改善してアクセスUP【アクセシビリティとは】

Webアクセシビリティを改善してアクセスUP【アクセシビリティとは】のイメージ
アーカイブ:2012年06月15日
先日ユーザビリティに関する記事を書きましたので、アクセシビリティについてもまとめることにしました。先日の記事はこちら⇒【...
Webアクセシビリティを改善してアクセスUP【アクセシビリティとは】の続きを読む

Webユーザビリティを改善するための5つのポイントと方法

Webユーザビリティーを改善するための5つのポイントと方法のイメージ
アーカイブ:2012年06月08日
先日の記事[競合サイト調査・分析に必要なチェック項目と役立つツール達!]でユーザビリティの調査・分析方法を軽く紹介しまし...
Webユーザビリティを改善するための5つのポイントと方法の続きを読む

競合サイト調査・分析に必要なチェック項目と役立つツール達!

競合サイト調査・分析に必要なチェック項目と役立つツール達!のイメージ
アーカイブ:2012年06月04日
たいていの人は何らかの商品を購入する時、似たような商品の中から一番気に入ったものを買うと思います。そのため、自社商品を他...
競合サイト調査・分析に必要なチェック項目と役立つツール達!の続きを読む

新着SEO・アクセス解析マニュアル

SEO対策・内部リンクでSEO効果を高める5つのポイント!

SEO対策・内部リンクでSEO効果を高める5つのポイント!のイメージ
アーカイブ:2012年04月23日
検索エンジンは外部からのリンク(被リンク)をとても重要視しているということは周知の事実でありますが、内部リンクも同様に重...
SEO対策・内部リンクでSEO効果を高める5つのポイント!の続きを読む

SEO対策・ページ制作7つのポイント!タイトルや見出しはこう付ける!

内部SEO対策を極める!ページを作る7つポイント!のイメージ
アーカイブ:2012年04月21日
前回まではキーワードの決め方や、キーワードの活用方法を紹介させていただきましたが、今回は実際にページを作る時に何を気をつ...
SEO対策・ページ制作7つのポイント!タイトルや見出しはこう付ける!の続きを読む

SEO対策・見落としがちなキーワードでアクセスアップ!

見落としがちなキーワードでアクセスアップを狙う!のイメージ
アーカイブ:2012年04月20日
私はインターネットで商品を購入する時、時間をかけて比較検討をしてから購入します。私の場合その比較検討の最終段階として、同...
SEO対策・見落としがちなキーワードでアクセスアップ!の続きを読む

SEO対策・旬なキーワードでアクセスアップを図る

旬なキーワードでアクセスアップを図る・SEO対策のイメージ
アーカイブ:2012年04月19日
以前書いた[内部SEO対策の基本・キーワード選び]では、どのようにして自分のサイト内容に合ったキーワード(メインキーワー...
SEO対策・旬なキーワードでアクセスアップを図るの続きを読む

代表的なスパム行為一覧

代表的なスパム行為一覧のイメージ
アーカイブ:2012年04月01日
スパムの手法は移り変わりが激しく、みなさんもその気は無くとも、知らず知らずのうちにスパム行為をしてしまっている場合があり...
代表的なスパム行為一覧の続きを読む

無料でできる外部SEO対策

無料でできる外部SEO対策のイメージ
アーカイブ:2012年03月31日
以前、内部SEO対策の基本キーワード選びでも少し書きましたが、SEO対策の効果の8割は被リンク(外部対策)によって決まる...
無料でできる外部SEO対策の続きを読む

新着アイデア・その他マニュアル

月間50万PVあったブログを3年間放置した結果と放置した理由

3665516866_5ae9a20a4d_z
アーカイブ:2015年09月25日
3年ぶりに記事を書くため、個人ブログのくせにやや緊張をしている内藤です。 私のようなつまらない人間の記事を楽しみにしてく...
月間50万PVあったブログを3年間放置した結果と放置した理由の続きを読む

最近見つけたクリエイティブで素敵な名刺デザイン21選

最近見つけたクリエイティブで素敵な名刺デザイン21選
アーカイブ:2012年09月04日
最近名刺デザインの仕事が増えてきている内藤です。何故なのか理由はわかりませんが、ここ最近、個人の方からの依頼が多くなって...
最近見つけたクリエイティブで素敵な名刺デザイン21選の続きを読む

インスピレーションを刺激するハートをモチーフにしたロゴ29選

ハートをモチーフにしたロゴ29選
アーカイブ:2012年08月27日
私はロゴデザインギャラリーをボーっと眺めるのが好きで、よく海外のそういったサイトを覗き、気に入ったロゴをパソコンに保存し...
インスピレーションを刺激するハートをモチーフにしたロゴ29選の続きを読む

Googleをもっと便利に使いこなす32の検索技と14のネタ

Googleをもっと便利に使いこなす32の検索技と14のネタ
アーカイブ:2012年08月09日
先日Evernoteを整理していたら、適当にメモされたGoogleの便利な検索機能がいくつもありましたので、今日はそれを...
Googleをもっと便利に使いこなす32の検索技と14のネタの続きを読む

凄すぎて脱帽する!世界の斬新なアイデア広告12選

凄すぎて脱帽する!世界の斬新なアイデア広告12選
アーカイブ:2012年07月28日
いやー夏ですね。7月はエアコンを絶対に付けないぞ!と決めたものですから、ダラダラと汗を流しながらブログを書いています。 ...
凄すぎて脱帽する!世界の斬新なアイデア広告12選の続きを読む

デザインのインスピレーションが得られる最強Webサービス7選

デザインのインスピレーションが得られる最強Webサービス7選
アーカイブ:2012年07月21日
毎日のようにデザインをしていると、良いデザインが思いつかなかったり、前回と同じようなデザインが完成してしまったりと、どう...
デザインのインスピレーションが得られる最強Webサービス7選の続きを読む