avoid_blog_page_permalink_collision

函式
avoid_blog_page_permalink_collision ( $data, $postarr )
引數
  • (array) $data An array of post data.
    Required:
  • (array) $postarr An array of posts. Not currently used.
    Required:
返回值
  • (array) The new array of post data after checking for collisions.
定義位置
相關方法
get_blog_permalinkget_sample_permalink_htmlpermalink_linkget_sample_permalinkget_permalink
引入
3.0.0
棄用
-

avoid_blog_page_permalink_collision: 這個函式用來避免一個部落格頁面和一個具有相同slug的文章之間的固定連結衝突。它檢查當前頁面是否是一個部落格頁面,以及當前文章是否與部落格頁面有相同的slug。如果發現匹配,它會在文章的slug後面加上一個數字,以建立一個唯一的固定連結。

避免了網站標題和固定標題之間的碰撞。

在子目錄安裝中,這將確保一個網站和一個文章不使用同一個子目錄。在子目錄安裝中,這將確保一個網站和一個文章不會使用同一個子目錄,方法是檢查一個與新文章同名的網站。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function avoid_blog_page_permalink_collision( $data, $postarr ) {
if ( is_subdomain_install() ) {
return $data;
}
if ( 'page' !== $data['post_type'] ) {
return $data;
}
if ( ! isset( $data['post_name'] ) || '' === $data['post_name'] ) {
return $data;
}
if ( ! is_main_site() ) {
return $data;
}
if ( isset( $data['post_parent'] ) && $data['post_parent'] ) {
return $data;
}
$post_name = $data['post_name'];
$c = 0;
while ( $c < 10 && get_id_from_blogname( $post_name ) ) {
$post_name .= mt_rand( 1, 10 );
$c++;
}
if ( $post_name !== $data['post_name'] ) {
$data['post_name'] = $post_name;
}
return $data;
}
function avoid_blog_page_permalink_collision( $data, $postarr ) { if ( is_subdomain_install() ) { return $data; } if ( 'page' !== $data['post_type'] ) { return $data; } if ( ! isset( $data['post_name'] ) || '' === $data['post_name'] ) { return $data; } if ( ! is_main_site() ) { return $data; } if ( isset( $data['post_parent'] ) && $data['post_parent'] ) { return $data; } $post_name = $data['post_name']; $c = 0; while ( $c < 10 && get_id_from_blogname( $post_name ) ) { $post_name .= mt_rand( 1, 10 ); $c++; } if ( $post_name !== $data['post_name'] ) { $data['post_name'] = $post_name; } return $data; }
function avoid_blog_page_permalink_collision( $data, $postarr ) {
	if ( is_subdomain_install() ) {
		return $data;
	}
	if ( 'page' !== $data['post_type'] ) {
		return $data;
	}
	if ( ! isset( $data['post_name'] ) || '' === $data['post_name'] ) {
		return $data;
	}
	if ( ! is_main_site() ) {
		return $data;
	}
	if ( isset( $data['post_parent'] ) && $data['post_parent'] ) {
		return $data;
	}

	$post_name = $data['post_name'];
	$c         = 0;

	while ( $c < 10 && get_id_from_blogname( $post_name ) ) {
		$post_name .= mt_rand( 1, 10 );
		$c++;
	}

	if ( $post_name !== $data['post_name'] ) {
		$data['post_name'] = $post_name;
	}

	return $data;
}

常見問題

FAQs
檢視更多 >