wp_get_comment_fields_max_lengths

函数
wp_get_comment_fields_max_lengths ( No parameters )
返回值
  • (int[]) Array of maximum lengths keyed by field name.
定义位置
相关方法
wp_check_comment_data_max_lengthsget_comment_id_fieldswp_get_comment_statuswp_set_comment_statusget_comment_excerpt
引入
4.5.0
弃用
-

wp_get_comment_fields_max_lengths: 这个函数检索评论表单中字段的最大长度。它不需要任何参数,并返回一个字段名和其最大长度的数组。

检索评论表单字段的最大字符长度。

function wp_get_comment_fields_max_lengths() {
	global $wpdb;

	$lengths = array(
		'comment_author'       => 245,
		'comment_author_email' => 100,
		'comment_author_url'   => 200,
		'comment_content'      => 65525,
	);

	if ( $wpdb->is_mysql ) {
		foreach ( $lengths as $column => $length ) {
			$col_length = $wpdb->get_col_length( $wpdb->comments, $column );
			$max_length = 0;

			// No point if we can't get the DB column lengths.
			if ( is_wp_error( $col_length ) ) {
				break;
			}

			if ( ! is_array( $col_length ) && (int) $col_length > 0 ) {
				$max_length = (int) $col_length;
			} elseif ( is_array( $col_length ) && isset( $col_length['length'] ) && (int) $col_length['length'] > 0 ) {
				$max_length = (int) $col_length['length'];

				if ( ! empty( $col_length['type'] ) && 'byte' === $col_length['type'] ) {
					$max_length = $max_length - 10;
				}
			}

			if ( $max_length > 0 ) {
				$lengths[ $column ] = $max_length;
			}
		}
	}

	/**
	 * Filters the lengths for the comment form fields.
	 *
	 * @since 4.5.0
	 *
	 * @param int[] $lengths Array of maximum lengths keyed by field name.
	 */
	return apply_filters( 'wp_get_comment_fields_max_lengths', $lengths );
}

常见问题

FAQs
查看更多 >