検索
ホームページCMS チュートリアル&#&プレスWhoisとソーシャルデータWordPressウィジェットの構築

WhoisとソーシャルデータWordPressウィジェットの構築

キーテイクアウト

  • このチュートリアルでは、GoogleのPagerankや1カウント、Alexaランク、Facebookの共有、Like、Twitterツイート、LinkedInなど、ドメイン名のWHOISとソーシャル情報を表示するWordPressウィジェットを作成するための段階的なガイドを提供します。株式、およびドメインの作成と有効期限。
  • ウィジェットは、JSON形式で必要なドメイン情報を返すJSONWhois APIを使用します。 「取得」要求は、APIキーとドメイン名を要求パラメーターとしてエンドポイントに送信します。
  • ウィジェットは、必要なクラス関数またはメソッドを含む標準のWP_Widgetクラスを拡張し、ウィジェットを登録することによりコーディングされます。ドメイン情報の各部分について、ウィジェットが表示する予定で、個々のデータを返す方法も作成されます。
  • ウィジェットには、ウィジェットタイトル、ドメイン、およびAPIキーの3つのフィールドで構成されるバックエンド設定フォームも備えています。フォームが入力されると、更新()メソッドは、再利用のために入力された値をデータベースに消毒および保存します。 Widget()メソッドは、WordPressのフロントエンドにウィジェットを表示します。
  • 以前のチュートリアルでは、WordPress HTTP APIに深く潜り込み、APIとは何か、HTTP APIを使用してWebサービスを消費する方法を学びました。
  • HTTP APIを使用してWordPressでAPIを消費する方法の実際の例をいくつか紹介することを約束しました。これは、今後の記事の最初のものです。 このチュートリアルでは、GoogleのPageRankや1カウント、Alexaランク、ドメインが作成された日付、DNS Name Serversなどのドメイン名のwhoisとソーシャル情報を表示するWordPressウィジェットを開発します。 、Facebookの株式といいねカウント、Twitterのツイート、LinkedIn株。
  • 上記のドメイン情報は、jsonwhois apiから取得されます。 このデータを取得するには、APIキーとドメイン名をリクエストパラメータとして、Endpoint http://jsonwhois.com/api/whoisにget requestが送信されます。
以下のURLをブラウザに入力して、ドメインSitePoint.comに関する利用可能な情報(JSON形式)を明らかにします:

それはJSONオブジェクトからです。開発したウィジェットは、そのデータを取得します。 このチュートリアルでジャンプしたい場合は、ウィジェットのデモを表示してウィジェットプラグインをダウンロードできます。

ウィジェットのコーディング

最初に、プラグインヘッダーを含めてください。

WordPressウィジェットを作成するには。最初に標準のWP_WIDGETクラスを拡張し、必要なクラス機能またはメソッドを含め、最後にウィジェットを登録します。

WP_Widgetクラスを拡張する子供クラスを作成します

ウィジェットに次のように__construct()マジックメソッドを使用して名前と説明を与えます。

http://jsonwhois.com/api/whois/?apiKey=54183ad8c433fac10b6f5d7c&domain=sitepoint.com

2つの引数を受け入れるJSON_WHOIS_APIというメソッドを作成します。クエリするドメインと、JSONWhois APIに「取得」要求を送信し、応答本体を取得してから応答を変換することです。 json_decode()functionを使用してオブジェクト

<span><span><?php </span></span><span>
</span><span><span>/*
</span></span><span><span>Plugin Name: Domain Whois and Social Data
</span></span><span><span>Plugin URI: https://www.sitepoint.com
</span></span><span><span>Description: Display whois and social data of a Domain.
</span></span><span><span>Version: 1.0
</span></span><span><span>Author: Agbonghama Collins
</span></span><span><span>Author URI: http://w3guy.com
</span></span><span><span>License: GPL2
</span></span><span><span>*/</span></span></span>
ウィジェットが表示するドメイン情報の各部分について、個々のデータを返すメソッドも作成されます。つまり、Alexaランク、Pagerankなどを返す方法が作成されます。

メモに値する

PHPプログラミングとWordPressプラグインの開発を初めて使用すると、この奇妙なものが見つかるかもしれません:

- >はオブジェクトプロパティにアクセスするために使用され、[]配列にアクセスするために使用されます。
<span>class Domain_Whois_Social_Data extends WP_Widget {
</span><span>// ...</span>
この理由は、オブジェクトにデコードされた後のjsonwhoisによる応答が返されることです。

以下のコードでは、この$ object-> facebook-> data [0] - > share_count;

を説明します

順番にはありません。以下は、WordPressウィジェットが表示するさまざまなドメイン情報を返すクラスメソッドまたは関数です。

<span>function __construct() {
</span>		<span><span>parent::</span>__construct(
</span>			<span>'whois_social_widget', // Base ID
</span>			<span>__( 'Domain Whois and Social Data', 'dwsd' ), // Name
</span>			<span>array( 'description' => __( 'Display whois and social data of a Domain.', 'dwsd' ), ) // Description
</span>		<span>);
</span>	<span>}</span>

<span>/**
</span><span>	 * Retrieve the response body of the API GET request and convert it to an object
</span><span>	 * 
</span><span>	 * <span>@param $domain
</span></span><span>	 * <span>@param $api_key
</span></span><span>	 *
</span><span>	 * <span>@return <span>object|mixed</span>
</span></span><span>	 */
</span>	<span>public function json_whois_api( $domain, $api_key ) {
</span>
		<span>$url = 'http://jsonwhois.com/api/whois/?apiKey=' . $api_key . '&domain=' . $domain;
</span>
		<span>$request = wp_remote_get( $url );
</span>
		<span>$response_body = wp_remote_retrieve_body( $request );
</span>
		<span>$decode_json_to_object = json_decode( $response_body );
</span>
		<span>return $decode_json_to_object;
</span>
	<span>}</span>
<span>return $response_data->social->facebook->data[0]->share_count;</span>
<span>[facebook] => stdClass Object
</span>                <span>(
</span>                    <span>[data] => Array
</span>                        <span>(
</span>                            <span>[0] => stdClass Object
</span>                                <span>(
</span>                                    https<span>%3A%2F%2Feditor.sitepoint.com => https://www.sitepoint.com
</span>                                    <span>[normalized_url] => https://www.sitepoint.com/
</span>                                    <span>[share_count] => 1094
</span>                                    <span>[like_count] => 448
</span>                                    <span>[comment_count] => 161
</span>                                    <span>[total_count] => 1703
</span>                                    <span>[commentsbox_count] => 0
</span>                                    <span>[comments_fbid] => 501562723433
</span>                                    <span>[click_count] => 138
</span>                                <span>)
</span>
                        <span>)
</span>
                <span>)</span>
<span>/**
</span><span>	 * Get the domain Alexa Rank
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>integer</span>
</span></span><span>	 */
</span>	<span>public function alexa_rank( $response_data ) {
</span>
		<span>return $response_data->alexa->rank;
</span>
	<span>}</span>
バックエンドウィジェット設定フォームは、ウィジェットタイトル、ドメイン、およびAPIキーを収容する3つのフォームフィールドで構成されるフォーム()メソッドによって作成されます。
<span>/**
</span><span>	 * Number of times domain have been tweeted
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>integer</span>
</span></span><span>	 */
</span>	<span>public function twitter_tweets( $response_data ) {
</span>
		<span>return $response_data->social->twitter->count;
</span>
	<span>}</span>
<span>/**
</span><span>	 * Number of times domain have been shared on Facebook
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>integer</span>
</span></span><span>	 */
</span>	<span>public function facebook_share_count( $response_data ) {
</span>
		<span>return $response_data->social->facebook->data[0]->share_count;
</span>
	<span>}</span>
<span>/**
</span><span>	 * Number of times domain have been liked on Facebook
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>mixed</span>
</span></span><span>	 */
</span>	<span>public function facebook_like_count( $response_data ) {
</span>
		<span>return $response_data->social->facebook->data[0]->like_count;
</span>
	<span>}</span>
ウィジェットフォームが入力されると、更新()メソッドは、再利用のために入力された値をデータベースに消毒および保存します。
<span>/**
</span><span>	 * Number of times domain have been shared to LinkedIn
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>integer</span>
</span></span><span>	 */
</span>	<span>public function linkedin_share( $response_data ) {
</span>
		<span>return $response_data->social->linkedIn;
</span>
	<span>}</span>
<span>/**
</span><span>	 * Number of times domain have been shared on Google+
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>integer</span>
</span></span><span>	 */
</span>	<span>public function google_share( $response_data ) {
</span>
		<span>return $response_data->social->google;
</span>
	<span>}</span>
Widget()メソッドは、WordPressのフロントエンドにウィジェットを表示します。
<span>/**
</span><span>	 * Google PageRank of Domain
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>integer</span>
</span></span><span>	 */
</span>	<span>public function google_page_rank( $response_data ) {
</span>
		<span>return $response_data->google->rank;
</span>
	<span>}</span>

コード説明:最初に、保存されたウィジェットフォーム値(タイトル、ドメイン、APIキー)がデータベースから取得され、変数に保存されます。

ドメインとAPIキーはjson_whois_apiメソッドに渡され、結果の応答本体が$ api_responseに保存されます。 ドメインデータを返すさまざまな方法への呼び出しは、引数として応答ボディ($ api_response)を使用して行われます。
<span>/**
</span><span>	 *Domain name servers
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>string</span>
</span></span><span>	 */
</span>	<span>public function domain_nameservers( $response_data ) {
</span>
		<span>$name_servers = $response_data->whois->domain->nserver;
</span>
		<span>return $name_servers->{0} . ' ' . $name_servers->{1};
</span>
	<span>}</span>
最後に、ウィジェットクラスを閉じます。WhoisとソーシャルデータWordPressウィジェットの構築

ウィジェットクラスは、Widgets_initアクションにフックされて、WordPressの内部によって認識されることで登録する必要があります。
<span>/**
</span><span>	 * Date domain was created
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>mixed</span>
</span></span><span>	 */
</span>	<span>public function date_created( $response_data ) {
</span>
		<span>return $response_data->whois->domain->created;
</span>	<span>}</span>
以下は、ウィジェットのスクリーンショットです。

<span>/**
</span><span>	 * Domain expiration date
</span><span>	 *
</span><span>	 * <span>@param <span>object</span> $response_data JSON decoded response body
</span></span><span>	 *
</span><span>	 * <span>@return <span>mixed</span>
</span></span><span>	 */
</span>	<span>public function expiration_date( $response_data ) {
</span>
		<span>return $response_data->whois->domain->expires;
</span>	<span>}</span>
ウィジェットのデモを表示します

関連リソース

WordPressウィジェットの仕組みについて詳しく知りたい場合は、次の記事に興味があるかもしれません。
  • WordPress Widget API
  • タブ付きのWordPressログインと登録ウィジェットを作成します
  • Widgets APIを介してWordPressでウィジェットを作成します
  • ワールドカップ2014 WordPressウィジェットの作成
wlap up

ウィジェットの構築方法とWordPressサイトに実装する方法をさらに理解するには、GitHubからウィジェットプラグインをダウンロードしてください。

私が言ったように、この記事は、WordPress HTTP APIがプラグインでどのように使用されるかを示すシリーズの最初のものです。

同様のチュートリアルについては、WordPressチャンネルに注意してください。

再び会うまで、幸せなコーディング!

ドメインの構築についてよく聞かれる質問とソーシャルデータWordPressウィジェット

WHOISとソーシャルデータのWordPressウィジェットをWebサイトにインストールするにはどうすればよいですか?

ドメインWHOISおよびソーシャルデータWordPressウィジェットをインストールするには、WordPressプラグインリポジトリからプラグインを最初にダウンロードする必要があります。ダウンロードしたら、WordPressダッシュボードに移動し、「プラグイン」をクリックしてから「新規追加」、最後に「プラグインのアップロード」をクリックしてインストールできます。その後、ダウンロードしたファイルを選択して、[今すぐインストール]をクリックできます。プラグインがインストールされたら、[アクティブ化]をクリックして使用を開始します。

Webサイトでウィジェットの外観をカスタマイズできますか?あなたのウェブサイトのテーマに一致します。プラグインには、ウィジェットのルックアンドフィールを変更するために変更できるCSSファイルが付属しています。好みに合わせて色、フォント、レイアウトを変更することができます。

ウィジェットを使用してドメイン情報を検索するにはどうすればよいですか?検索ボックスにドメイン名を入力して「検索」をクリックすることにより、ドメイン情報を検索します。ウィジェットは、ドメインの登録ステータス、所有者情報などを含むドメインのWHOIS情報を表示します。ウィジェットでは、ソーシャルデータを検索することもできます。 Facebook、Twitter、LinkedInなど、さまざまなソーシャルメディアプラットフォームから情報を取得できます。これは、ドメインのソーシャルメディアの存在を理解するのに役立ちます。

ウィジェットはすべてのWordPressテーマと互換性がありますか?ただし、特定のコーディングや設計により、うまく機能しないテーマがいくつかある場合があります。問題が発生した場合は、プラグイン開発者にお問い合わせください。

複数のWebサイトでウィジェットを使用できますか?

はい、プラグインをダウンロードしたら、複数のWebサイトで使用できます。ただし、各Webサイトに個別にインストールしてアクティブ化する必要があります。

ウィジェットは定期的に更新されていますか?

ウィジェットは定期的に更新され、WordPressの最新バージョンと互換性があり、新しい機能を追加するか、バグを修正します。 WordPressダッシュボードからの更新を確認できます。

ウィジェットは国際ドメイン名をサポートしていますか?さまざまな国や異なるドメイン拡張機能で登録されているドメインのWHOIS情報を取得できます。

ウィジェットを使用してドメインの可用性を確認できますか?ドメインの可用性を確認してください。ドメインが登録されていない場合、ウィジェットはドメインが利用可能であることを示すメッセージを表示します。ウィジェットで実行できる検索の数に制限が設定されていません。ただし、過度に使用すると、WHOISサーバーによる一時的なIPブロッキングにつながる可能性があり、虐待を防ぎます。責任を持ってウィジェットを使用することをお勧めします

以上がWhoisとソーシャルデータWordPressウィジェットの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
WordPressにコメントボックスを追加する方法WordPressにコメントボックスを追加する方法Apr 20, 2025 pm 12:15 PM

WordPress Webサイトでコメントを有効にして、訪問者にディスカッションに参加し、フィードバックを共有するプラットフォームを提供します。これを行うには、次の手順に従ってください。コメントを有効にします。ダッシュボードで、設定に移動してgt;議論し、[コメントを許可]チェックボックスを選択します。コメントフォームの作成:エディターで、[ブロックの追加]をクリックし、コメントブロックを検索してコンテンツに追加します。カスタムコメントフォーム:タイトル、ラベル、プレースホルダー、ボタンテキストを設定して、コメントブロックをカスタマイズします。変更を保存します:[更新]をクリックしてコメントボックスを保存し、ページまたは記事に追加します。

WordPressからサブサイトをコピーする方法WordPressからサブサイトをコピーする方法Apr 20, 2025 pm 12:12 PM

WordPressサブサイトをコピーする方法は?手順:メインサイトにサブサイトを作成します。メインサイトのサブサイトのクローニング。クローンをターゲットの場所にインポートします。ドメイン名(オプション)を更新します。個別のプラグインとテーマ。

WordPressのヘッダーの書き方WordPressのヘッダーの書き方Apr 20, 2025 pm 12:09 PM

WordPressでカスタムヘッダーを作成する手順は次のとおりです。テーマファイル「header.php」を編集します。あなたのウェブサイトの名前と説明を追加します。ナビゲーションメニューを作成します。検索バーを追加します。変更を保存して、カスタムヘッダーを表示します。

WordPressコメントを表示する方法WordPressコメントを表示する方法Apr 20, 2025 pm 12:06 PM

WordPress Webサイトでコメントを有効にします。1。管理パネルにログインし、「設定」 - 「ディスカッション」に移動し、「コメント許可」を確認します。 2。コメントを表示する場所を選択します。 3.コメントをカスタマイズします。 4.コメントを管理し、承認、拒否、または削除します。 5。use&lt;?php comments_template(); ?&gt;コメントを表示するタグ。 6.ネストされたコメントを有効にします。 7.コメントの形状を調整します。 8。プラグインと検証コードを使用して、スパムコメントを防ぎます。 9.ユーザーにGravatarアバターの使用を奨励します。 10。参照するコメントを作成します

WordPressのソースコードをアップロードする方法WordPressのソースコードをアップロードする方法Apr 20, 2025 pm 12:03 PM

WordPressからFTPプラグインをインストールし、FTP接続を構成し、ファイルマネージャーを使用してソースコードをアップロードできます。手順には、FTPプラグインのインストール、接続の構成、アップロードの場所の参照、ファイルのアップロード、アップロードが成功したことを確認します。

WordPressコードをコピーする方法WordPressコードをコピーする方法Apr 20, 2025 pm 12:00 PM

WordPressコードをコピーする方法は?管理インターフェイスからコピー:WordPress Webサイトにログインし、宛先に移動し、コードを選択し、Ctrl C(Windows)/Command C(MAC)を押してコードをコピーします。ファイルからコピー:SSHまたはFTPを使用してサーバーに接続し、テーマまたはプラグインファイルに移動し、コードを選択し、Ctrl C(Windows)/コマンドC(MAC)を押してコードをコピーします。

WordPressにエラーがある場合はどうすればよいですかWordPressにエラーがある場合はどうすればよいですかApr 20, 2025 am 11:57 AM

WordPressエラー解決ガイド:500内部サーバーエラー:プラグインを無効にするか、サーバーエラーログを確認します。 404ページが見つかりません:パーマリンクをチェックし、ページリンクが正しいことを確認してください。死の白い画面:サーバーPHPメモリ制限を増やします。データベース接続エラー:データベースサーバーのステータスとWordPress構成を確認します。その他のヒント:デバッグモードを有効にし、エラーログを確認し、サポートを求めます。エラーの防止:定期的にWordPressを更新し、必要なプラグインのみをインストールし、定期的にWebサイトをバックアップし、Webサイトのパフォーマンスを最適化します。

WordPressでコメントを閉じる方法WordPressでコメントを閉じる方法Apr 20, 2025 am 11:54 AM

WordPressでコメントをオフにする方法は?具体的な記事またはページ:編集者で議論されているコメントをuncheckします。 Webサイト全体:「設定」 - >「ディスカッション」で「コメントを許可」を解除します。プラグインの使用:コメントを無効にするなどのプラグインをインストールしてコメントを無効にします。トピックファイルを編集:comments.phpファイルを編集してコメントフォームを削除します。カスタムコード:add_filter()関数を使用してコメントを無効にします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境