The discover_pingback_server_uri()
WordPress PHP function is used to find a pingback server URI based on a provided URL. It checks the HTML for the rel="pingback"
link and X-Pingback
headers. The function prioritizes X-Pingback
headers first, returning them if available, since the check for rel="pingback"
incurs more overhead.
Usage
$pingback_uri = discover_pingback_server_uri('http://example.com'); echo $pingback_uri;
In this example, we’re finding the pingback server URI for http://example.com
. The function will return the URI if it’s available.
Parameters
$url
(string) – Required. This is the URL to ping.$deprecated
(string) – Optional. Not used. Default is an empty string.
More information
See WordPress Developer Resources: discover_pingback_server_uri()
Examples
Finding Pingback URI from a URL
$website_url = 'http://example.com'; $pingback_uri = discover_pingback_server_uri($website_url); echo "The pingback URI for the website is: " . $pingback_uri;
This example finds the pingback URI for http://example.com
and prints it.
Handling No Pingback URI
$website_url = 'http://example.com'; $pingback_uri = discover_pingback_server_uri($website_url); if (empty($pingback_uri)) { echo "No pingback URI found."; } else { echo "The pingback URI for the website is: " . $pingback_uri; }
This example checks if a pingback URI exists for http://example.com
. If not, it prints a message to inform the user.
Using Pingback URI in a Function
function get_pingback($website_url) { $pingback_uri = discover_pingback_server_uri($website_url); return $pingback_uri; } $uri = get_pingback('http://example.com'); echo "The pingback URI for the website is: " . $uri;
In this example, we’re encapsulating the discover_pingback_server_uri()
in a function, and using it to get the pingback URI for http://example.com
.
Multiple URLs
$website_urls = array('http://example1.com', 'http://example2.com', 'http://example3.com'); foreach ($website_urls as $website_url) { $pingback_uri = discover_pingback_server_uri($website_url); echo "The pingback URI for " . $website_url . " is: " . $pingback_uri . "\n"; }
This example finds the pingback URIs for a list of URLs and prints them.
Handling Errors
$website_url = 'http://example.com'; try { $pingback_uri = discover_pingback_server_uri($website_url); if (empty($pingback_uri)) { throw new Exception("No pingback URI found."); } else { echo "The pingback URI for the website is: " . $pingback_uri; } } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }
This example throws an exception if no pingback URI is found for http://example.com
, providing better error handling.