Compare commits

..

3 commits
0.3.4 ... main

Author SHA1 Message Date
Andy Fragen
3e2c694ca8 add test for install to theme 2023-05-30 14:45:15 -07:00
Andy Fragen
63fbe9fd01 oops, remove test code 2023-05-30 13:35:45 -07:00
Andy Fragen
2e47f5fec3 load JS where it exists
stop messing with tests for URL and transients
2023-05-30 13:29:06 -07:00
2 changed files with 14 additions and 14 deletions

View file

@ -1,7 +1,7 @@
{ {
"name": "afragen/wp-dismiss-notice", "name": "afragen/wp-dismiss-notice",
"description": "Library for time dismissible WordPress admin notices.", "description": "Library for time dismissible WordPress admin notices.",
"version": "0.3.4", "version": "0.3.7",
"type": "library", "type": "library",
"license": "MIT", "license": "MIT",
"authors": [ "authors": [

View file

@ -28,6 +28,9 @@ class WP_Dismiss_Notice {
return; return;
} }


$js_url = plugins_url( 'js/dismiss-notice.js', __FILE__, 'wp-dismiss-notice' );
$version = json_decode( file_get_contents( __DIR__ . '/composer.json' ) )->version;

/** /**
* Filter composer.json vendor directory. * Filter composer.json vendor directory.
* Some people don't use the standard vendor directory. * Some people don't use the standard vendor directory.
@ -36,26 +39,23 @@ class WP_Dismiss_Notice {
*/ */
$vendor_dir = apply_filters( 'dismiss_notice_vendor_dir', '/vendor' ); $vendor_dir = apply_filters( 'dismiss_notice_vendor_dir', '/vendor' );
$composer_js_path = untrailingslashit( $vendor_dir ) . '/afragen/wp-dismiss-notice/js/dismiss-notice.js'; $composer_js_path = untrailingslashit( $vendor_dir ) . '/afragen/wp-dismiss-notice/js/dismiss-notice.js';
$plugin_js_url = plugins_url( 'js/dismiss-notice.js', __FILE__, 'wp-dismiss-notice' );


// Test to get correct URL for JS. $theme_js_url = get_theme_file_uri( $composer_js_path );
$response = get_transient( 'wp-dismiss-notice_jsurl' ); $theme_js_file = parse_url( $theme_js_url, PHP_URL_PATH );
if ( ! $response || is_object( $response ) ) {
$response = wp_remote_head( $plugin_js_url ); if ( file_exists( ABSPATH . $theme_js_file ) ) {
$response = is_wp_error( $response ) ? 0 : wp_remote_retrieve_response_code( $response ); $js_url = $theme_js_url;
if ( is_int( $response ) ) { }
set_transient( 'wp-dismiss-notice_jsurl', $response, WEEK_IN_SECONDS );
} if ( '/vendor' !== $vendor_dir ) {
$js_url = home_url( $composer_js_path );
} }
$js_url = ( 200 === (int) $response )
? $plugin_js_url
: get_stylesheet_directory_uri() . $composer_js_path;


wp_enqueue_script( wp_enqueue_script(
'dismissible-notices', 'dismissible-notices',
$js_url, $js_url,
[ 'jquery', 'common' ], [ 'jquery', 'common' ],
false, $version,
true true
); );