php 对Wordpress中的插入图像+标题进行了大修,以产生html5输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 对Wordpress中的插入图像+标题进行了大修,以产生html5输出相关的知识,希望对你有一定的参考价值。

function custom_insert_image($html, $id, $caption, $title, $align, $url, $size, $alt ) {
  //Always return an image with a <figure> tag, regardless of link or caption

  //Grab the image tag
  $image_tag = get_image_tag($id, '', $title, 'None', $size);

  //Let's see if this contains a link
  $linkptrn = "/<a[^>]*>/";
  $found = preg_match($linkptrn, $html, $a_elem);

  // If no link, do nothing
  if($found > 0) {
    $a_elem = $a_elem[0];

    if(strstr($a_elem, "class=\"") !== false){ // If link already has class defined inject it to attribute
        $a_elem = str_replace("class=\"", "class=\"colorbox ", $a_elem);
    } else { // If no class defined, just add class attribute
        $a_elem = str_replace("<a ", "<a class=\"colorbox\" ", $a_elem);
    }
  } else {
    $a_elem = "";
  }

  // Set up the attributes for the caption <figure>
  $attributes  = (!empty($id) ? ' id="attachment_' . esc_attr($id) . '"' : '' );
  $attributes .= ' class="thumbnail wp-caption ' . 'align'.esc_attr($align) . '"';

  if ($caption) {
    $output = '[captionC caption="'.$caption.'" align="'.$align.'"]<figure' . $attributes .'>';
  } else {
    $output  = '<figure' . $attributes .'>';  
  }

  //add the image back in
  $output .= $a_elem;
  $output .= $image_tag;

  if($a_elem != "") {
    $output .= '</a>';
  }
  
  if ($caption) {
    $output .= '</figure>[/captionC]';
  } else {
    $output .= '</figure>';  
  }
  

  return $output;
}

function custom_caption_shortcode($attr, $content = null)
{
  extract(shortcode_atts(array(
    'id'      => '',
    'align'   => '',
    'caption' => ''
  ), $attr));
  
  return str_replace ( '</figure>' , '<figcaption class="caption wp-caption-text">'.$caption.'</figcaption></figure>' , $content );  
}

add_filter('image_send_to_editor', 'custom_insert_image', 10, 9);
add_filter('disable_captions', create_function('$a', 'return true;'));
add_shortcode( 'captionC', 'custom_caption_shortcode');

以上是关于php 对Wordpress中的插入图像+标题进行了大修,以产生html5输出的主要内容,如果未能解决你的问题,请参考以下文章

php 过滤WordPress的图像插入

php [WordPress] - 列出图像并通过ajax按术语对它们进行排序

php 删除WordPress全尺寸图像插入post +选项并添加最大尺寸以防止用户插入大量i

php Wordpress - 使用WP All Import Pro将图像导入帖子时插入图库的短代码

Wordpress“插入-php”:文件中的php代码未执行

Wordpress - PHP:如何将表单中的选定数据放入文本区域?