検索
ホームページ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開発のための5つの最高のIDES(およびなぜ)WordPress開発のための5つの最高のIDES(およびなぜ)Mar 03, 2025 am 10:53 AM

WordPress開発に適した統合開発環境(IDE)の選択 10年間、WordPress開発のための多数の統合開発環境(IDE)を調査しました。 自由から商業、基本的なものまで、純粋な品種

OOPテクニックを備えたWordPressプラグインを作成しますOOPテクニックを備えたWordPressプラグインを作成しますMar 06, 2025 am 10:30 AM

このチュートリアルでは、ドリブルAPIを活用して、オブジェクト指向プログラミング(OOP)の原則を使用してWordPressプラグインを構築します。 元の意味と構造を維持しながら、明確さと簡潔さのためにテキストを洗練しましょう。 オブジェクトオリ

WordPressでPHPデータと文字列をJavaScriptに渡す方法WordPressでPHPデータと文字列をJavaScriptに渡す方法Mar 07, 2025 am 09:28 AM

PHPデータをjavaScriptに渡すためのベストプラクティス:wp_localize_scriptとwp_add_inline_scriptの比較 PHPファイルに静的文字列内にデータを保存することが推奨される練習です。 JavaScriptコードでこのデータが必要な場合は、INCORPORAT

WordPressプラグインでPDFファイルを埋め込み、保護する方法WordPressプラグインでPDFファイルを埋め込み、保護する方法Mar 09, 2025 am 11:08 AM

このガイドは、WordPress PDFプラグインを使用して、WordPressの投稿とページにPDFファイルを埋め込み、保護する方法を示しています。 PDFは、カタログからプレゼンテーションまで、さまざまなコンテンツに対してユーザーフレンドリーで普遍的にアクセス可能な形式を提供します。 この方法は

WordPressは初心者にとって簡単ですか?WordPressは初心者にとって簡単ですか?Apr 03, 2025 am 12:02 AM

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

なぜWordPressを使用するのはなぜですか?なぜWordPressを使用するのはなぜですか?Apr 02, 2025 pm 02:57 PM

人々は、その力と柔軟性のためにWordPressを使用することを選択します。 1)WordPressは、さまざまなWebサイトのニーズに適した、使いやすさとスケーラビリティを備えたオープンソースのCMSです。 2)豊富なテーマとプラグイン、巨大なエコシステム、強力なコミュニティサポートがあります。 3)WordPressの作業原則は、テーマ、プラグイン、コア関数に基づいており、PHPとMySQLを使用してデータを処理し、パフォーマンスの最適化をサポートします。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

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

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

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール