1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
<?php
class Papi_Property_Url extends Papi_Property {
public function get_default_settings() {
return [
'mediauploader' => false
];
}
public function html() {
$settings = $this->get_settings();
papi_render_html_tag( 'input', [
'class' => $settings->mediauploader ? 'papi-url-media-input' : null,
'id' => $this->html_id(),
'name' => $this->html_name(),
'type' => 'url',
'value' => $this->get_value()
] );
if ( $settings->mediauploader ) {
echo ' ';
papi_render_html_tag( 'input', [
'class' => 'button papi-url-media-button',
'data-papi-action' => 'mediauploader',
'id' => $this->html_id(),
'name' => $this->html_name() . '_button',
'type' => 'button',
'value' => __( 'Select file', 'papi' )
] );
}
}
public function import_value( $value, $slug, $post_id ) {
return $this->load_value( $value, $slug, $post_id );
}
public function load_value( $value, $slug, $post_id ) {
if ( filter_var( $value, FILTER_VALIDATE_URL ) ) {
return $value;
}
}
public function update_value( $value, $slug, $post_id ) {
return $this->load_value( $value, $slug, $post_id );
}
}