50 lines
1.8 KiB
PHP
50 lines
1.8 KiB
PHP
<?php
|
|
|
|
class Graphthemes_Widget_Functions {
|
|
|
|
public function __construct() {
|
|
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
|
|
}
|
|
|
|
public function enqueue_admin_scripts() {
|
|
wp_enqueue_media();
|
|
wp_enqueue_script( 'graphthemes-widgets-admin-scripts', get_template_directory_uri() . '/inc/graphthemes-widgets/includes/js/graphthemes-widgets-admin.js', array( 'jquery' ), ZEITFRESSER_VERSION , true );
|
|
}
|
|
|
|
public function zeitfresser_widget_get_attachment_id( $url ) {
|
|
$attachment_id = 0;
|
|
$dir = wp_upload_dir();
|
|
if ( false !== strpos( $url, $dir['baseurl'] . '/' ) ) { // Is URL in uploads directory?
|
|
$file = basename( $url );
|
|
$query_args = array(
|
|
'post_type' => 'attachment',
|
|
'post_status' => 'inherit',
|
|
'fields' => 'ids',
|
|
'meta_query' => array(
|
|
array(
|
|
'value' => $file,
|
|
'compare' => 'LIKE',
|
|
'key' => '_wp_attachment_metadata',
|
|
),
|
|
)
|
|
);
|
|
$query = new WP_Query( $query_args );
|
|
if ( $query->have_posts() ) {
|
|
foreach ( $query->posts as $post_id ) {
|
|
$meta = wp_get_attachment_metadata( $post_id );
|
|
$original_file = basename( $meta['file'] );
|
|
$cropped_image_files = wp_list_pluck( $meta['sizes'], 'file' );
|
|
if ( $original_file === $file || in_array( $file, $cropped_image_files ) ) {
|
|
$attachment_id = $post_id;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $attachment_id;
|
|
}
|
|
|
|
|
|
}
|
|
$obj = new Graphthemes_Widget_Functions;
|