キーテイクアウト
- このチュートリアルでは、GoogleのPagerankや1カウント、Alexaランク、Facebookの共有、Like、Twitterツイート、LinkedInなど、ドメイン名のWHOISとソーシャル情報(bào)を表示するWordPressウィジェットを作成するための段階的なガイドを提供します。株式、およびドメインの作成と有効期限。
- ウィジェットは、JSON形式で必要なドメイン情報(bào)を返すJSONWhois APIを使用します。 「取得」要求は、APIキーとドメイン名を要求パラメーターとしてエンドポイントに送信します。 ウィジェットは、必要なクラス関數(shù)またはメソッドを含む標(biāo)準(zhǔn)のWP_Widgetクラスを拡張し、ウィジェットを登録することによりコーディングされます。ドメイン情報(bào)の各部分について、ウィジェットが表示する予定で、個々のデータを返す方法も作成されます。
- ウィジェットには、ウィジェットタイトル、ドメイン、およびAPIキーの3つのフィールドで構(gòu)成されるバックエンド設(shè)定フォームも備えています。フォームが入力されると、更新()メソッドは、再利用のために入力された値をデータベースに消毒および保存します。 Widget()メソッドは、WordPressのフロントエンドにウィジェットを表示します。
- HTTP APIを使用してWordPressでAPIを消費(fèi)する方法の実際の例をいくつか紹介することを約束しました。これは、今後の記事の最初のものです。 このチュートリアルでは、GoogleのPageRankや1カウント、Alexaランク、ドメインが作成された日付、DNS Name Serversなどのドメイン名のwhoisとソーシャル情報(bào)を表示するWordPressウィジェットを開発します。 、Facebookの株式といいねカウント、Twitterのツイート、LinkedIn株。 上記のドメイン情報(bào)は、jsonwhois apiから取得されます。 このデータを取得するには、APIキーとドメイン名をリクエストパラメータとして、Endpoint http://jsonwhois.com/api/whoisにget requestが送信されます。
それはJSONオブジェクトからです。開発したウィジェットは、そのデータを取得します。 このチュートリアルでジャンプしたい場合は、ウィジェットのデモを表示してウィジェットプラグインをダウンロードできます。
ウィジェットのコーディング最初に、プラグインヘッダーを含めてください。
WordPressウィジェットを作成するには。最初に標(biāo)準(zhǔn)のWP_WIDGETクラスを拡張し、必要なクラス機(jī)能またはメソッドを含め、最後にウィジェットを登録します。
WP_Widgetクラスを拡張する子供クラスを作成します
ウィジェットに次のように__construct()マジックメソッドを使用して名前と説明を與えます。
http://jsonwhois.com/api/whois/?apiKey=54183ad8c433fac10b6f5d7c&domain=sitepoint.com
2つの引數(shù)を受け入れる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>ウィジェットが表示するドメイン情報(bào)の各部分について、個々のデータを返すメソッドも作成されます。つまり、Alexaランク、Pagerankなどを返す方法が作成されます。
メモに値する
PHPプログラミングとWordPressプラグインの開発を初めて使用すると、この奇妙なものが見つかるかもしれません:
- >はオブジェクトプロパティにアクセスするために使用され、[]配列にアクセスするために使用されます。
<span>class Domain_Whois_Social_Data extends WP_Widget { </span><span>// ...</span>この理由は、オブジェクトにデコードされた後のjsonwhoisによる応答が返されることです。
以下のコードでは、この$ object-> facebook-> data [0] - > share_count;
を説明します順番にはありません。以下は、WordPressウィジェットが表示するさまざまなドメイン情報(bào)を返すクラスメソッドまたは関數(shù)です。
<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>バックエンドウィジェット設(shè)定フォームは、ウィジェットタイトル、ドメイン、およびAPIキーを収容する3つのフォームフィールドで構(gòu)成されるフォーム()メソッドによって作成されます。
<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キー)がデータベースから取得され、変數(shù)に保存されます。
ドメインとAPIキーはjson_whois_apiメソッドに渡され、結(jié)果の応答本體が$ api_responseに保存されます。 ドメインデータを返すさまざまな方法への呼び出しは、引數(shù)として応答ボディ($ 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>最後に、ウィジェットクラスを閉じます。

ウィジェットクラスは、Widgets_initアクションにフックされて、WordPressの內(nèi)部によって認(rèn)識されることで登録する必要があります。
<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ウィジェットの作成
ウィジェットの構(gòu)築方法とWordPressサイトに実裝する方法をさらに理解するには、GitHubからウィジェットプラグインをダウンロードしてください。
私が言ったように、この記事は、WordPress HTTP APIがプラグインでどのように使用されるかを示すシリーズの最初のものです。
同様のチュートリアルについては、WordPressチャンネルに注意してください。再び會うまで、幸せなコーディング!
ドメインの構(gòu)築についてよく聞かれる質(zhì)問とソーシャルデータWordPressウィジェット
WHOISとソーシャルデータのWordPressウィジェットをWebサイトにインストールするにはどうすればよいですか?ドメインWHOISおよびソーシャルデータWordPressウィジェットをインストールするには、WordPressプラグインリポジトリからプラグインを最初にダウンロードする必要があります。ダウンロードしたら、WordPressダッシュボードに移動し、「プラグイン」をクリックしてから「新規(guī)追加」、最後に「プラグインのアップロード」をクリックしてインストールできます。その後、ダウンロードしたファイルを選択して、[今すぐインストール]をクリックできます。プラグインがインストールされたら、[アクティブ化]をクリックして使用を開始します。Webサイトでウィジェットの外観をカスタマイズできますか?あなたのウェブサイトのテーマに一致します。プラグインには、ウィジェットのルックアンドフィールを変更するために変更できるCSSファイルが付屬しています。好みに合わせて色、フォント、レイアウトを変更することができます。ウィジェットを使用してドメイン情報(bào)を検索するにはどうすればよいですか?検索ボックスにドメイン名を入力して「検索」をクリックすることにより、ドメイン情報(bào)を検索します。ウィジェットは、ドメインの登録ステータス、所有者情報(bào)などを含むドメインのWHOIS情報(bào)を表示します。ウィジェットでは、ソーシャルデータを検索することもできます。 Facebook、Twitter、LinkedInなど、さまざまなソーシャルメディアプラットフォームから情報(bào)を取得できます。これは、ドメインのソーシャルメディアの存在を理解するのに役立ちます。ウィジェットはすべてのWordPressテーマと互換性がありますか?ただし、特定のコーディングや設(shè)計(jì)により、うまく機(jī)能しないテーマがいくつかある場合があります。問題が発生した場合は、プラグイン開発者にお問い合わせください。
複數(shù)のWebサイトでウィジェットを使用できますか?
はい、プラグインをダウンロードしたら、複數(shù)のWebサイトで使用できます。ただし、各Webサイトに個別にインストールしてアクティブ化する必要があります。
ウィジェットは定期的に更新されていますか?
ウィジェットは定期的に更新され、WordPressの最新バージョンと互換性があり、新しい機(jī)能を追加するか、バグを修正します。 WordPressダッシュボードからの更新を確認(rèn)できます。
ウィジェットは國際ドメイン名をサポートしていますか?さまざまな國や異なるドメイン拡張機(jī)能で登録されているドメインのWHOIS情報(bào)を取得できます。
ウィジェットを使用してドメインの可用性を確認(rèn)できますか?ドメインの可用性を確認(rèn)してください。ドメインが登録されていない場合、ウィジェットはドメインが利用可能であることを示すメッセージを表示します。ウィジェットで実行できる検索の數(shù)に制限が設(shè)定されていません。ただし、過度に使用すると、WHOISサーバーによる一時的なIPブロッキングにつながる可能性があり、虐待を防ぎます。責(zé)任を持ってウィジェットを使用することをお勧めします
以上がWhoisとソーシャルデータWordPressウィジェットの構(gòu)築の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











GITでWordPressプロジェクトを管理する場合、バージョンコントロールにテーマ、カスタムプラグイン、構(gòu)成ファイルのみを含める必要があります。 .gitignoreファイルをセットアップして、ディレクトリ、キャッシュ、および機(jī)密構(gòu)成のアップロードを無視します。 WebhooksまたはCIツールを使用して自動展開を?qū)g現(xiàn)し、データベース処理に注意を払います。共同開発のために2つのブランチポリシー(Main/Develop)を使用します。そうすることで、競合を回避し、セキュリティを確保し、コラボレーションと展開効率を改善できます。

WordPressテスト環(huán)境を使用して、正式に発売される前に新機(jī)能、プラグイン、またはテーマのセキュリティと互換性を確保し、実際のWebサイトに影響を與えないようにします。テスト環(huán)境を構(gòu)築する手順には、次のものがあります。ローカルサーバーソフトウェア(LocalWP、XAMPPなど)のダウンロードとインストール、サイトの作成、データベースと管理者アカウントの設(shè)定、テスト用のテーマとプラグインのインストール。正式なWebサイトをテスト環(huán)境にコピーする方法は、プラグインを介してサイトをエクスポートし、テスト環(huán)境をインポートし、ドメイン名を置き換えることです。それを使用する場合、実際のユーザーデータを使用せず、定期的に役に立たないデータのクリーニング、テストステータスのバックアップ、時間內(nèi)に環(huán)境のリセット、および違いを減らすためにチームの構(gòu)成を統(tǒng)合することに注意を払う必要があります。

WordPressでは、カスタム記事タイプを追加したり、固定リンク構(gòu)造を変更したりするときは、書き換えルールを手動で更新する必要があります。この時點(diǎn)で、コードを介してflush_rewrite_rules()関數(shù)を呼び出して実裝できます。 1.この関數(shù)は、テーマまたはプラグインのアクティベーションフックに追加して、自動的に更新できます。 2。CPTの追加、分類、リンク構(gòu)造の変更など、必要に応じて1回のみ実行します。 3.パフォーマンスに影響を避けるために、頻繁に電話をかけないでください。 4。マルチサイト環(huán)境では、必要に応じて各サイトを個別に更新します。 5.一部のホスティング環(huán)境は、ルールの保存を制限する場合があります。さらに、[保存]をクリックして「設(shè)定>ピン留めリンク」ページにアクセスすると、自動化されていないシナリオに適した更新もトリガーできます。

Gutenbergブロックを作成するための鍵は、その基本構(gòu)造を理解し、フロントエンドリソースとバックエンドリソースを正しく接続することです。 1.開発環(huán)境の準(zhǔn)備:ローカルWordPress、node.js、 @wordpress/scriptsをインストールします。 2。PHPを使用してブロックを登録し、JavaScriptを使用してブロックの編集ロジックを定義します。 3. npmを介してJSファイルを構(gòu)築して変更を行います。 4.問題に遭遇したときにパスとアイコンが正しいかどうかを確認(rèn)するか、リアルタイムのリスニングを使用してビルドを使用して、繰り返し手動コンパイルを避けます。これらの手順に従って、シンプルなグーテンバーグブロックを段階的に実裝できます。

応答性のあるWordPressテーマデザインを?qū)g裝するには、まず、HTML5とモバイルファーストメタタグを使用し、header.phpにビューポート設(shè)定を追加して、モバイル端子が正しく表示されるようにし、HTML5構(gòu)造タグでレイアウトを整理します。第二に、CSSメディアクエリを使用して、さまざまな畫面幅でスタイルの適応を?qū)g現(xiàn)し、モバイルファーストの原則に従ってスタイルを書き込み、一般的に使用されるブレークポイントには480px、768px、1024pxが含まれます。第三に、畫像とレイアウトを弾力的に処理し、最大幅を設(shè)定します。畫像に100%を設(shè)定し、固定幅の代わりにFlexBoxまたはグリッドレイアウトを使用します。最後に、ブラウザ開発者ツールと実際のデバイスを介して完全にテストし、パフォーマンスを最適化し、応答を確保する

tosetupredirectsinwordsusitheTheTheTheTheTheTheThe、LocateTethefileNyinyOursite’sRootDirectoryAnddRedireCtRulesabovethe

usingsmtpforwordpressemailsimprovesdeleverability andReliability comparedtothededefaultphpmail()function.1.smtpauthenticateswithyouremailserver、reducespamplacement.2.somehostsdisablephpmail()、makesmtpn devering

IntegrateThird-PartyApisIntOwordPress、次のようになります。
