Как разместить функцию на отдельной странице?

Я пытаюсь создать функцию rss-канала из gmail-платья. Это работает, если я поместил его в functions.php, но обогнал мой сайт как rssfeed, как и ожидалось. Как разместить его на отдельной странице, например / gmailrss?

При необходимости снимок:

function checkGmail($username, $password) { $url = "https://mail.google.com/mail/feed/atom"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_ENCODING, ""); $mailData = curl_exec($curl); curl_close($curl); return $mailData; } header('Content-Type:text/xml; charset=UTF-8'); $feed = checkGmail("gmail", "password"); echo $feed; 

Solutions Collecting From Web of "Как разместить функцию на отдельной странице?"

Если вы просто собираетесь выводить свои собственные данные, нет причин ждать выполнения основного запроса. Hook parse_request и проверьте, была ли запрошена ваша страница, и запустите там свой код.

 function wpd_maybe_output_feed( $request ){ if( isset( $request->query_vars['pagename'] ) && 'gmailrss' == $request->query_vars['pagename'] ){ header('Content-Type:text/xml; charset=UTF-8'); echo checkGmail("gmail", "password"); die; } return $request; } add_action( 'parse_request', 'wpd_maybe_output_feed' );