计算POST中的图像数,如果只有一个,则添加类

时间:2014-05-17 作者:dmoz

我正在尝试向我的站点添加一个函数,该函数将计算贴在帖子上的图像数量,如果只有一个,则向其中任何一个添加一个类<img> 或到包含<a>.

我想我已经很接近了,但还没有PHP语法技能来完成它。我破解的代码来源于该主题的各个线程,是:

/**
 *
 * Single-image posts will receive a separate class name
 *
 */

add_filter( \'the_content\', \'single_image_content_filter\', 20 );

// Count images in post
function single_image_content_filter( $content ) {

$attachments = get_children(array(\'post_parent\'=>$post->ID));
$imgcount = count($attachments);

    // If only one attachment, add a new CSS class
    if ( $imgcount === 1 ) {

        global $post;
        $classes = \'single-img\'; // separated by spaces, e.g. \'img image-link\'

        // check if there are already classes assigned to the anchor, and/or add one via $classes
        if ( preg_match(\'/<a.*? class=".*?">/\', $content) ) {
        $content = preg_replace(\'/(<a.*? class=".*?)(".*?>)/\', \'$1 \' . $classes . \'$2\', $content);
      } else {
        $content = preg_replace(\'/(<a.*?)>/\', \'$1 class="\' . $classes . \'" >\', $content);
      }

return $content;

    }
}

1 个回复
SO网友:dmoz

以@pascalvgemert的建议为起点,我使用以下脚本:

jQuery(document).ready(function() {
    var imgCount = jQuery(".single-post #content-left p a").children("img").length;
    if (imgCount == 1) {
    jQuery("img").addClass("lone-image");
    }
});
很有魅力。

结束

相关推荐

Average Account Age

我想看看是否有办法找到通过我的wordpress站点访问的用户帐户的平均年龄,不包括管理员帐户的年龄。我说的年龄不是指他们的实际出生年龄,而是指他们账户的使用期限。有没有一种简单的方法来确定这一点?