我希望我的客户只需将他们的图像放到WordPress编辑器中,而我的自定义主题脚本就可以处理其他所有事情。无论是画廊、旋转木马还是其他什么。因此,我通常不使用插件,而是让它们将图像包装成一个短代码。像这样:[images] 图1,图2[/images]
在代码方面,这意味着我必须摆脱标准WordPress输出(这不是问题),取而代之的是检索图像的ID。一旦检索到ID,我就可以轻松地生成任何其他输出。这是我检索所需ID的方式:
function register_shortcodes() {
add_shortcode( \'images\', \'get_image_data\' );
}
function get_image_data( $atts, $image_data_input = null ) {
/*
* Find CSS classes generated by WordPress (like \'wp-image-36\')
* and store them into array $image_classes
*/
preg_match_all( \'/wp-image-[0123456789]*/\', $image_data_input, $image_classes );
/* Loop through array $image_classes */
$n = 0;
foreach ( $image_classes[0] as $image_class ) {
/* Crop class names to ID only */
$image_id = substr( $image_class, 9 );
/* Retrieve image metadata by ID, store ID into array $images */
$images[$n][\'id\'] = $image_id;
$n++;
}
/*
* Loop through array $images and generate $image_data_output
* by adding the desired values
*/
$image_data_output = \'\';
foreach ( $images as $single_image ) {
$image_data_output .= $single_image[\'id\'] . \', \';
}
return ( $image_data_output );
}
因此,我的问题是:我的代码运行良好,但是否存在
better 如何仅为我的短代码内容(而不是所有附加到帖子的媒体)检索ID?我认为搜索CSS类将它们裁剪到ID中是一种解决方法,但我找不到更聪明的方法。