????? ?? ??? ??? ?? OAUTH? ???? ???? ??? API ?? ???? ?? ???? ?????. ?? ?? ???? ???? ?? Oauth ??? ???? ? ???? ?????.
-
???? ???? ?? ? ???? ???? ?? ? ??? ??? ???? ??? ? ? ????. ?? OAuth? ???? ???? ???? ??? ? ? ????? ?? ?? ??? ?? ? ? ????. -
??? ?? ???? ?? ? API ? ??? ?? ??? ???? hostoople.com ?? ?? ? ????. PHP ???? ???? ??? ?? ??? ???? ??? ??????. ???? ??? ???? ????.
<span>class Twitter_API_WordPress { </span> <span>/** <span>@var <span>string</span> OAuth access token */</span> </span> <span>private $oauth_access_token; </span> <span>/** <span>@var <span>string</span> OAuth access token secrete */</span> </span> <span>private $oauth_access_token_secret; </span> <span>/** <span>@var <span>string</span> Consumer key */</span> </span> <span>private $consumer_key; </span> <span>/** <span>@var <span>string</span> consumer secret */</span> </span> <span>private $consumer_secret; </span> <span>/** <span>@var <span>array</span> POST parameters */</span> </span> <span>private $post_fields; </span> <span>/** <span>@var <span>string</span> GET parameters */</span> </span> <span>private $get_field; </span> <span>/** <span>@var <span>array</span> OAuth credentials */</span> </span> <span>private $oauth_details; </span> <span>/** <span>@var <span>string</span> Twitter's request URL */</span> </span> <span>private $request_url; </span> <span>/** <span>@var <span>string</span> Request method or HTTP verb */</span> </span> <span>private $request_method;</span>
???? ???? ?????? ??? (?? API) ? ? ??? ??? ???? ??? ?? ? ??? ?? ??? ????? ?? ??? ?????. ??? HTTP ??? ?? get ?? post ?? ??? ???? ?????.
?? ?? _build_signature_base_string ()? ?? ?? ???? ???? ?? ?? ??? ??????. ?? URL, ?? ??? ?? HTTP ?? ? OAUTH ?? ?? (??? ? ? ??; ??? ?? ? ??; GET ?? ??; get ?????).<span>/** Class constructor */ </span> <span>public function __construct( $settings ) { </span> <span>if ( ! isset( $settings['oauth_access_token'] ) </span> <span>|| ! isset( $settings['oauth_access_token_secret'] ) </span> <span>|| ! isset( $settings['consumer_key'] ) </span> <span>|| ! isset( $settings['consumer_secret'] ) </span> <span>) { </span> <span>return new WP_Error( 'twitter_param_incomplete', 'Make sure you are passing in the correct parameters' ); </span> <span>} </span> <span>$this->oauth_access_token = $settings['oauth_access_token']; </span> <span>$this->oauth_access_token_secret = $settings['oauth_access_token_secret']; </span> <span>$this->consumer_key = $settings['consumer_key']; </span> <span>$this->consumer_secret = $settings['consumer_secret']; </span> <span>}</span>
> _generate_oauth_signature () ?? ???? ?? ? ?? ?? ???? ???? Oauth ??? ?????. build_oauth ()? ?? ???? ???? ??? ?????? OAUTH_DETAILS ??? ?????.?? OAUTH_DETAILS ??? ?????. <span>/** </span><span> * Store the POST parameters </span><span> * </span><span> * <span>@param <span>array</span> $array array of POST parameters </span></span><span> * </span><span> * <span>@return $this </span></span><span> */ </span> <span>public function set_post_fields( array $array ) { </span> <span>$this->post_fields = $array; </span> <span>return $this; </span> <span>} </span> <span>/** </span><span> * Store the GET parameters </span><span> * </span><span> * <span>@param $string </span></span><span> * </span><span> * <span>@return $this </span></span><span> */ </span> <span>public function set_get_field( $string ) { </span> <span>$this->getfield = $string; </span> <span>return $this; </span> <span>}</span>
<_ _> oauth_consumer_key - ??? ?? ???? ??? ?. <__> oauth_nonce - ?????? ???? ???? ??? Time () ?? mt_rand (). <__> oauth_signature_method-??“hmac-sha1” ? ?? ??? <_ _> oauth_token - ?? ???? Oauth ??. <_ _> oauth_timestamp - time () ? ?? ? ?? ?? ??? <_ _> oauth_version - Twitter? ?? 1.0 ? ????? <_ _> oauth_signature - _generate_oauth_signature ()? ?? ?? ? Oauth ??
<span>/** </span><span> * Create a signature base string from list of arguments </span><span> * </span><span> * <span>@param <span>string</span> $request_url request url or endpoint </span></span><span> * <span>@param <span>string</span> $method HTTP verb </span></span><span> * <span>@param <span>array</span> $oauth_params Twitter's OAuth parameters </span></span><span> * </span><span> * <span>@return <span>string</span> </span></span><span> */ </span> <span>private function _build_signature_base_string( $request_url, $method, $oauth_params ) { </span> <span>// save the parameters as key value pair bounded together with '&' </span> <span>$string_params = array(); </span> <span>ksort( $oauth_params ); </span> <span>foreach ( $oauth_params as $key => $value ) { </span> <span>// convert oauth parameters to key-value pair </span> <span>$string_params[] = "<span><span>$key</span>=<span>$value</span>"</span>; </span> <span>} </span> <span>return "<span><span>$method</span>&"</span> . rawurlencode( $request_url ) . '&' . rawurlencode( implode( '&', $string_params ) ); </span> <span>}</span>
?? ??? ?? HTTP ??? request_method ??? ?????. ??? ??? ??? ? authorization_header () ???? ??? ??? ????.
> Process_Request ()? ?? ???? ?? wp_remote_get () ?? wp_remote_post ()? ???? get ?? post ??? ?? ?? wp_remote_retrieve_body ()? ???? ??? ?????. <span>private function _generate_oauth_signature( $data ) { </span> <span>// encode consumer and token secret keys and subsequently combine them using & to a query component </span> <span>$hash_hmac_key = rawurlencode( $this->consumer_secret ) . '&' . rawurlencode( $this->oauth_access_token_secret ); </span> <span>$oauth_signature = base64_encode( hash_hmac( 'sha1', $data, $hash_hmac_key, true ) ); </span> <span>return $oauth_signature; </span><span>}</span>
WordPress HTTP API? ?? ??? ? ? ?????? ????? ??????. ??? ?????, ??? ???? ????. ?? : set_post_fields (), set_get_field () ? build_oauth ()?? ?? $? ??? ??? ???? ?? ? ????? ?????. ? ?? ??? ?? ??? ??? ???? ?????? ???? ???? ?? ? ???? WordPress ????? ???? ???????. WordPress HTTP API? ????? ??? ???? ???? ????. - ?? ??? ??? ?? ?? ??? ???? ?? ???? ??????.
?? : https://api.twitter.com/1.1/statuses/user_timeline.json? ?? ?? ???? ???? ??? URL???.
??, ??? ?? ?? ??? ????. <span>class Twitter_API_WordPress { </span> <span>/** <span>@var <span>string</span> OAuth access token */</span> </span> <span>private $oauth_access_token; </span> <span>/** <span>@var <span>string</span> OAuth access token secrete */</span> </span> <span>private $oauth_access_token_secret; </span> <span>/** <span>@var <span>string</span> Consumer key */</span> </span> <span>private $consumer_key; </span> <span>/** <span>@var <span>string</span> consumer secret */</span> </span> <span>private $consumer_secret; </span> <span>/** <span>@var <span>array</span> POST parameters */</span> </span> <span>private $post_fields; </span> <span>/** <span>@var <span>string</span> GET parameters */</span> </span> <span>private $get_field; </span> <span>/** <span>@var <span>array</span> OAuth credentials */</span> </span> <span>private $oauth_details; </span> <span>/** <span>@var <span>string</span> Twitter's request URL */</span> </span> <span>private $request_url; </span> <span>/** <span>@var <span>string</span> Request method or HTTP verb */</span> </span> <span>private $request_method;</span>
?? URL? ???? ???? W3GUY? ??? ??? ?????. ????? ??? ????? ?? ?? ??? ?? $ ??? ?? ??? JSON ???? ?????. ?? ??, ??? ??? ?? ??? ??? ???? ??????? ?? ?????. <span>/** Class constructor */ </span> <span>public function __construct( $settings ) { </span> <span>if ( ! isset( $settings['oauth_access_token'] ) </span> <span>|| ! isset( $settings['oauth_access_token_secret'] ) </span> <span>|| ! isset( $settings['consumer_key'] ) </span> <span>|| ! isset( $settings['consumer_secret'] ) </span> <span>) { </span> <span>return new WP_Error( 'twitter_param_incomplete', 'Make sure you are passing in the correct parameters' ); </span> <span>} </span> <span>$this->oauth_access_token = $settings['oauth_access_token']; </span> <span>$this->oauth_access_token_secret = $settings['oauth_access_token_secret']; </span> <span>$this->consumer_key = $settings['consumer_key']; </span> <span>$this->consumer_secret = $settings['consumer_secret']; </span> <span>}</span>
?? ? ??
? ???? ??? ??? James Mallison? PHP Twitter ??????? ??? ?????.??? API ? OAUTH? ?? ??? ??? ??? ???? ??????. <span>/** </span><span> * Store the POST parameters </span><span> * </span><span> * <span>@param <span>array</span> $array array of POST parameters </span></span><span> * </span><span> * <span>@return $this </span></span><span> */ </span> <span>public function set_post_fields( array $array ) { </span> <span>$this->post_fields = $array; </span> <span>return $this; </span> <span>} </span> <span>/** </span><span> * Store the GET parameters </span><span> * </span><span> * <span>@param $string </span></span><span> * </span><span> * <span>@return $this </span></span><span> */ </span> <span>public function set_get_field( $string ) { </span> <span>$this->getfield = $string; </span> <span>return $this; </span> <span>}</span>
OAuth ?? Demystified ???? ?????? ??? OAuth? ??? ?????
???? ?? PHP OAUTH ?? ??
ietf rfc ?? ? ????? WordPress HTTP API? ???? HTTP ????? ???? ???? OAUTH? Twitter? ???? ??? ?? ?????. ??? ?? ? ?? ??,? ???? WordPress HTTP API? ???? ??? WordPress ???? ??? ???????. WordPress? WordPress??? ? ?? ????? ????????. ? PHP ???? ?? ?? ?? ?? ??? ?? ??? ?? ? ? ????.
??? github?? ??? ? ????. ??? ?????? ? ??? ??????. ???? ????? ???? ?? WordPress ??? ??????. <.> ??? ??. <span>/** </span><span> * Create a signature base string from list of arguments </span><span> * </span><span> * <span>@param <span>string</span> $request_url request url or endpoint </span></span><span> * <span>@param <span>string</span> $method HTTP verb </span></span><span> * <span>@param <span>array</span> $oauth_params Twitter's OAuth parameters </span></span><span> * </span><span> * <span>@return <span>string</span> </span></span><span> */ </span> <span>private function _build_signature_base_string( $request_url, $method, $oauth_params ) { </span> <span>// save the parameters as key value pair bounded together with '&' </span> <span>$string_params = array(); </span> <span>ksort( $oauth_params ); </span> <span>foreach ( $oauth_params as $key => $value ) { </span> <span>// convert oauth parameters to key-value pair </span> <span>$string_params[] = "<span><span>$key</span>=<span>$value</span>"</span>; </span> <span>} </span> <span>return "<span><span>$method</span>&"</span> . rawurlencode( $request_url ) . '&' . rawurlencode( implode( '&', $string_params ) ); </span> <span>}</span>
Oauth, Twitter ? WordPress http api ? ?? ??? ?? ????. ? WordPress ????? OAUTH2? ????? WordPress ????? OAUTH2? ????? OAUTH2 ????? ???? ???????. WordPress ???? ?????? ?? ??? ?? ???? ??? ??? ? ????. ????? ?? ? ??? ????? ID ? ????? ??? ??? OAUTH2 ?? ??? ?? ??? ????? ???????. ???? ?? ??? ?? ???? URL ? ???? ???? ? ?? ????. ??? API?? OAUTH? ??? ?????? ????? ?? API ?? ??? ????? ?? ?? ?? ??? ????????? ??????? ???? ???? ??? API ?? ???? ??? ???? Twitter? API ??? ??? ? ????. ?? ?? ????? ???? ?? ??? ???? ????????. ??? ??? ???? ??? ?? ??? ?? Twitter? ??? ??? ?? ? ??? ????.
.OAUTH1.0? OAUTH2.0? ???? ?????? WordPress HTTP API? ???? HTTP ??? ?? ? ????. WordPress ???. ??? ??? API? ?? ?? API? ?? ???? ? ?? ? ? ????. WordPress HTTP API? ????? ?? ????? API ?? ???? URL? ???? wp_remote_get ?? wp_remote_post ??? ???????.
Oauth? WordPress? ???? ?? ?? ? ???? ??? ??????OAUTH ??? ???? ?? ?? ????? ?? ?? ???? ???? ? ?????. ?? ??????? ?? ?? ??? ???? ???? ????? ? ??? ???? ??????. ?? ?? ??? ?? ?? ??? ???? ??? ?? ???? ????? ??? ? ????????. ??? API? ??? ??? ??? ??? ??????
?? ?? ?? ?? ?? ??. Twitter API? ???? ?? ????? ??? ???? ??? API ?? ???? ?? ????? ???? ?? ??? ???? ??? ??? ? ????. Twitter? API ?? ??? ???? API? ?? ??? ???? ??? ? ??? ?? ? ? ????.
Twitter API? ?? OAUTH2.0? ??? ??? ? ?????OAuth2? ??????. .0 Twitter API? ???? Twitter ?? ????? ???? API ?? ??????. ?? ?? API ??? ???? ? ??? ??? ??? ??? ???? ??? ?? ???????. Twitter? OAUTH2.0 ??? ?? ???? ????? ??? ????? ???? ?? ???? ??? ? ????.
WordPress ? Miniorange OAuth 2.0 ?? ????? ???? ?? ??? ????? WordPress ? Miniorange Oauth 2.0 ?? ????? WordPress ????? OAUTH2.0 ??? ???? ???? ??? ??? ?????. ?? ?? ??, ??, ?? ? ????? ?? ??? ??? ?? ??? ??? ???? JWT ? SAML? ?????. ??? WordPress ????? OAUTH2.0? ?????? ???? ??? ?????.
? ??? Oauth, Twitter, WordPress HTTP API ? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? 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 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











GIT? WordPress ????? ?? ? ?? ?? ??? ??, ??? ?? ???? ? ?? ?? ? ???????. ??? ????, ?? ? ??? ??? ???? ?? .gitignore ??? ?????. WebHooks ?? CI ??? ???? ?? ??? ???? ?????? ?????? ?????. ?? ??? ?? 2 ?? ?? (Main/Invelop)? ??????. ????? ??? ??? ??? ???? ?? ? ?? ???? ???? ? ????.

WordPress ??? ??? ???? ????? ???? ?? ??? ??, ???? ?? ??? ?? ? ???? ???? ?? ? ???? ??? ??? ????. ??? ??? ???? ???? ??? ????? : ?? ?? ????? ???? ? ?? (? : LocalWP, XAMPP), ??? ??, ?????? ? ??? ?? ??, ?? ? ??? ? ???? ??; ?? ? ???? ??? ??? ???? ??? ????? ?? ???? ???? ??? ??? ?? ?? ??? ??? ???? ????. ?? ??? ?? ?? ??? ???? ???? ??, ????? ???? ???? ????? ????, ??? ??? ????, ??? ??? ?? ??? ?????, ? ??? ???? ??? ??? ???? ???????.

Gutenberg ??? ???? ??? ?? ??? ???? ?? ? ??? ???? ???? ???? ????. 1. ?? ?? ?? : ?? WordPress, Node.js ? @WordPress/Scripts ??; 2. PHP? ???? ??? ???? JavaScript? ??? ?? ? ?? ??? ?????. 3. NPM? ?? JS ??? ???? ?? ??? ?????. 4. ??? ?? ? ? ??? ???? ???? ????? ??? ????? ???? ??? ? ?? ??? ?????. ? ??? ?? ??? ????? ??? ???? ??? ? ????.

WordPress??? ??? ?? ?? ??? ????? ?? ?? ??? ??? ? ? ?? ??? ???? ?? ???????. ?? ??? ?? Flush_rewrite_rules () ??? ???? ??? ? ????. 1.? ??? ?? ?? ???? ??? ??? ???? ???? ?? ?? ? ? ????. 2. CPT ??, ??? ?? ?? ?? ?? ??? ?? ??? ?? ? ?? ?????. 3. ??? ??? ??? ??? ??? ??? ?????. 4. ?? ??? ???? ? ???? ??? ?? ?????. 5. ?? ??? ??? ?? ??? ?? ? ? ????. ?? "??> ?? ? ??"???? ?????? ??? ???? ?? ???? ?? ????? ??? ?? ??? ??? ? ? ????.

tosetupredirectsinwordpressusingthe.htaccessfile, locateTefileInoursite'sRootDirectoryAndAddDedirectrulesabovethe.forbasic301redirects, usetheformatredrect301/old-pagehttps : //example.forpantn edredirects, eneb

?? ? WordPress ?? ??? ????? ?? HTML5 ? ??? ??? ?? ??? ???? Header.php? ??? ??? ???? ??? ???? ???? ??????? HTML5 ?? ??? ????? ??????. ??, CSS ??? ??? ???? ??? ?? ???? ??? ??? ???? ??? ?? ??? ?? ???? ???? ????? ???? ?? ??? 480px, 768px ? 1024px? ?????. ??, ?? ? ????? ????? ????, ?? ?? ???? ??? 100%? ???? ?? ?? ?? Flexbox ?? ??? ????? ??????. ????? ???? ??? ?? ? ?? ??? ?? ??? ??????? ??? ????? ??? ?????.

restmtpforwordpresseMailsimprovesDeliveliveliabilityandReleiabliceComparedTothedEfaultPhpMail () ??

Tointegratethird-partyAPIsintoWordPress,followthesesteps:1.SelectasuitableAPIandobtaincredentialslikeAPIkeysorOAuthtokensbyregisteringandkeepingthemsecure.2.Choosebetweenpluginsforsimplicityorcustomcodeusingfunctionslikewp_remote_get()forflexibility.
