我的用户在创建帖子时提供了一个外部链接。如果删除了外部链接,则还应删除本地职位。为此,我尝试运行此代码...
function check_external_page_status()
{
if( is_single() )
{
if(get_field('external_listing_page'))
{
$external_url = get_field('external_listing_page');
function get_http_response_code($external_url) {
$external_headers = get_headers($external_url);
return substr($external_headers[0], 9, 3);
}
$get_http_response_code = get_http_response_code($external_url);
if ( $get_http_response_code == 200 ) {
//echo "OKAY!";
}
else
{
//echo "Not okay!";
//echo $get_http_response_code;
//echo get_the_ID();
wp_delete_post( get_the_ID(), false );
wp_redirect( home_url( '/expired-listing/',410 ) );
exit;
}
}
}
}
add_action( 'template_redirect', 'check_external_page_status' );
...但是我得到这些错误...
警告:get_headers((:php_network_getaddresses:getAddrinfo失败:name或nors in/home/cornwal2/cornwal2/public_html/listings/wp-content/wp-content/plugins/insert-plugins/insert-php/php/includes/includes/includes/includes/class.ececute.secute.secute.sexnippet.phpppphppppicat.3300.3900.3900.390(:eval(('d代码12
警告:get_headers(http://fdsafdsfasd.ca(:无法打开流:php_network_getaddresses:getAddrinfo失败:name或nork in/home/home/cornwal2/home cornwal2/public_html/public_html/wp-content/wp-content/insert-plunins/interert-php/Includes/class.execute.snippet.php(390(:eval(('d代码12
警告:无法修改标头信息 - 已发送的标题(输出启动访问 @ cornwal2/cornwal2/public_html/listings/wp-content/wp-content/plugins/insert-php/includes/class.execute.execute.snippet.php,390(:eval(('d代码:12(在/home/cornwal2/public_html/listings/wp-includes/pluggable.php in 1251
警告:无法修改标头信息 - 已发送的标题(输出启动访问 @ cornwal2/cornwal2/public_html/listings/wp-content/wp-content/plugins/insert-php/includes/class.execute.execute.snippet.php,390(:eval(('d代码:12(在/home/cornwal2/public_html/listings/wp-includes/pluggable.php in 1254
,所以我想出了...前两个警告与无效的外部页面有关。尽管警告是合法的,但在这种情况下,我不想看到它,所以我只是关闭警告。至于最后一个警告,我使用JavaScript重定向而不是WP_redirect((
function check_external_page_status()
{
if( is_single() )
{
if(get_field('external_listing_page'))
{
$external_url = get_field('external_listing_page');
function get_http_response_code($external_url) {
$external_headers = get_headers($external_url);
return substr($external_headers[0], 9, 3);
}
error_reporting(E_ERROR);
$get_http_response_code = get_http_response_code($external_url);
//error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
if ( $get_http_response_code == 200 ) {
//echo "OKAY!";
}
else
{
wp_die($external_url."<br>Error:".$get_http_response_code);
//echo "Not okay!";
//echo $get_http_response_code;
//echo get_the_ID();
wp_delete_post( get_the_ID(), false );
//wp_redirect( home_url( '/expired-listing/',410 ) );
echo "<script>window.location.replace('".home_url('/expired-listing/')."');</script>";
exit;
}
}
}
}
add_action( 'template_redirect', 'check_external_page_status' );