附件的自定义类

时间:2013-08-28 作者:Nikita

我正在尝试在附件详细信息部分创建一个自定义字段。我想在这个字段中添加用空格分隔的单词,然后将其作为类添加到特定图像中。

这就是我目前找到的解决方案。它添加自定义字段,但不向图像添加类。这里怎么了?

function add_attachment_classes_field( $form_fields, $post ) {
$field_value = get_post_meta( $post->ID, \'classes\', true );
  $form_fields[\'classes\'] = array(
    \'value\' => $field_value ? $field_value : \'\',
    \'label\' => __( \'Classes\' ),
    \'helps\' => __( \'Add class seperated by space\' )
  );
 return $form_fields;
}
add_filter( \'attachment_fields_to_edit\', \'add_attachment_classes_field\', 10, 2 );

function save_attachment_classes( $attachment_id ) {
  if ( isset( $_REQUEST[\'attachments\'][$attachment_id][\'classes\'] ) ) {
   $classes = $_REQUEST[\'attachments\'][$attachment_id][\'classes\'];
   update_post_meta( $attachment_id, \'classes\', $classes );
  }
}
add_action( \'edit_attachment\', \'save_attachment_classes\' );

1 个回复
最合适的回答,由SO网友:Vinod Dalvi 整理而成

只需在函数中添加以下代码。主题的php文件,当您将其插入post editor时,该文件会将自定义添加的类添加到图像中。

function add_image_class($html, $id, $caption, $title, $align, $url, $size, $alt = \'\' ){
$classes = get_post_meta( $id, \'classes\', true );
if ( preg_match(\'/<img.*? class=".*?">/\', $html) ) {
    $html = preg_replace(\'/(<img.*? class=".*?)(".*?>)/\', \'$1 \' . $classes . \'$2\', $html);
} else {
    $html = preg_replace(\'/(<img.*?)>/\', \'$1 class="\' . $classes . \'" >\', $html);
}
return $html;
}
add_filter(\'image_send_to_editor\',\'add_image_class\',10,8);

结束

相关推荐

附件的自定义类 - 小码农CODE - 行之有效找到问题解决它

附件的自定义类

时间:2013-08-28 作者:Nikita

我正在尝试在附件详细信息部分创建一个自定义字段。我想在这个字段中添加用空格分隔的单词,然后将其作为类添加到特定图像中。

这就是我目前找到的解决方案。它添加自定义字段,但不向图像添加类。这里怎么了?

function add_attachment_classes_field( $form_fields, $post ) {
$field_value = get_post_meta( $post->ID, \'classes\', true );
  $form_fields[\'classes\'] = array(
    \'value\' => $field_value ? $field_value : \'\',
    \'label\' => __( \'Classes\' ),
    \'helps\' => __( \'Add class seperated by space\' )
  );
 return $form_fields;
}
add_filter( \'attachment_fields_to_edit\', \'add_attachment_classes_field\', 10, 2 );

function save_attachment_classes( $attachment_id ) {
  if ( isset( $_REQUEST[\'attachments\'][$attachment_id][\'classes\'] ) ) {
   $classes = $_REQUEST[\'attachments\'][$attachment_id][\'classes\'];
   update_post_meta( $attachment_id, \'classes\', $classes );
  }
}
add_action( \'edit_attachment\', \'save_attachment_classes\' );

1 个回复
最合适的回答,由SO网友:Vinod Dalvi 整理而成

只需在函数中添加以下代码。主题的php文件,当您将其插入post editor时,该文件会将自定义添加的类添加到图像中。

function add_image_class($html, $id, $caption, $title, $align, $url, $size, $alt = \'\' ){
$classes = get_post_meta( $id, \'classes\', true );
if ( preg_match(\'/<img.*? class=".*?">/\', $html) ) {
    $html = preg_replace(\'/(<img.*? class=".*?)(".*?>)/\', \'$1 \' . $classes . \'$2\', $html);
} else {
    $html = preg_replace(\'/(<img.*?)>/\', \'$1 class="\' . $classes . \'" >\', $html);
}
return $html;
}
add_filter(\'image_send_to_editor\',\'add_image_class\',10,8);

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: