functions.php add_filter附加到$ path_info [' url'] - 重力表格

时间:2016-03-09 20:25:29

标签: php add-filter

我正在尝试找到修改路径信息的解决方案,以便文件上传路径URL将是图像而不是网址。

add_filter( 'gform_upload_path', 'change_upload_path', 10, 2 );
function change_upload_path( $path_info, $form_id ) {
   $path_info['path'] = '/home/public_html/wp-content/uploads/photo_uploads/';
   $path_info['url'] = 'http://www.domain.com/wp-content/uploads/photo_uploads/';
   return $path_info;
}

但是,$ path_info [' url']需要包装在img标记中。 有没有办法追加img src ="在前面和关闭标签>在它之后。

$path_info['url'] = append <img src=" in front of the file name 'http://www.domain.com/wp-content/uploads/photo_uploads/' append > to close the tag ;

此处的目的是将URL转换为img src。

1 个答案:

答案 0 :(得分:1)

您可能希望分两部分来处理这个问题。第一种方法是使用gform_upload_path过滤器来更改图片的上传路径。第二种是使用gform_entry_field_value过滤器将URL包装在&lt; img&gt;中从数据库中检索时的标记。

几乎在显示字段值的任何地方,都会调用gform_entry_field_value过滤器,因此您始终会拥有包含图片的网址。

更新w / code:

add_filter( 'gform_upload_path', 'change_upload_path', 10, 2 );
function change_upload_path( $path_info, $form_id ) {
   $path_info['path'] = '/home/public_html/wp-content/uploads/photo_uploads/';
   $path_info['url'] = 'http://www.domain.com/wp-content/uploads/photo_uploads/';
   return $path_info;
}

// update "10" to the ID of your form, update "3" to the ID of your field
add_filter( 'gform_entry_field_value', 'convert_to_image', 10, 4 );
function convert_to_image( $value, $field, $entry, $form ) {
    return $field->formId == 1247 && $field->id == 2 ? sprintf( '<img src="%s" />', $entry[ $field->id ] ) : $value;
}