Update file paths to use admin directory for JS and CSS files
This commit is contained in:
5
.github/workflows/assets.yml
vendored
5
.github/workflows/assets.yml
vendored
@ -6,7 +6,6 @@ on:
|
||||
- main
|
||||
paths:
|
||||
- '.wordpress-org/**'
|
||||
- 'assets/**'
|
||||
|
||||
jobs:
|
||||
assets:
|
||||
@ -15,10 +14,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
|
||||
- name: WordPress.org plugin asset/readme update
|
||||
uses: 10up/action-wordpress-plugin-asset-update@stable
|
||||
env:
|
||||
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
|
||||
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
|
||||
SLUG: wp-fix-plugin-does-not-exist-notices
|
||||
SLUG: wp-fix-plugin-does-not-exist-notices
|
@ -16,12 +16,10 @@ This directory contains assets specific to the WordPress.org plugin repository a
|
||||
|
||||
## Asset Organization
|
||||
|
||||
- **PNG Files**: All PNG files for WordPress.org are stored in this directory (`.wordpress-org/assets/`)
|
||||
- **Source Files**: Source files (PXD, SVG) are stored in the main `assets/` directory:
|
||||
- `assets/banner/banner-1544x500.pxd`
|
||||
- `assets/icon/icon.svg`
|
||||
- `assets/icon/icon-1024x1024.pxd`
|
||||
- `assets/screenshots/screenshot-1.pxd`
|
||||
- **All Asset Files**: All files for WordPress.org are stored in this directory (`.wordpress-org/assets/`)
|
||||
- PNG files (icon-256x256.png, banner-772x250.png, etc.)
|
||||
- Source files (PXD, SVG)
|
||||
- Documentation
|
||||
|
||||
## Purpose
|
||||
|
||||
@ -55,9 +53,8 @@ Note that the `-rtl` suffix is specifically for Right-to-Left language support,
|
||||
## Build Process
|
||||
|
||||
The build script (`build.sh`) is configured to:
|
||||
1. Keep source files (PXD, SVG) in the `assets/` directory for development
|
||||
2. Use PNG files from the `.wordpress-org/assets/` directory for the build
|
||||
3. Copy these PNG files to the appropriate locations in the build directory
|
||||
1. Use all asset files from the `.wordpress-org/assets/` directory
|
||||
2. Copy these files to the appropriate locations in the build directory
|
||||
|
||||
## Additional Resources
|
||||
|
||||
@ -65,4 +62,4 @@ For more detailed information about WordPress.org plugin assets, please see:
|
||||
|
||||
- [WordPress Plugin Developer Handbook - Plugin Assets](https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/)
|
||||
- [WordPress Plugin Directory README.txt Standard](https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/)
|
||||
- [WordPress.org Plugin Submission Assets Guide](../assets/WORDPRESS_ORG_ASSETS.md)
|
||||
- [WordPress.org Plugin Submission Assets Guide](./.wordpress-org/WORDPRESS_ORG_ASSETS.md)
|
38
admin/css/admin-styles.css
Normal file
38
admin/css/admin-styles.css
Normal file
@ -0,0 +1,38 @@
|
||||
.prc-notice {
|
||||
border-left: 4px solid #ffba00;
|
||||
background-color: #fff8e5;
|
||||
padding: 10px 12px;
|
||||
margin: 5px 0 15px;
|
||||
font-size: 14px;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
max-width: none;
|
||||
}
|
||||
.prc-notice h3 {
|
||||
margin-top: 0;
|
||||
color: #826200;
|
||||
}
|
||||
.prc-notice::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: 20px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 10px solid transparent;
|
||||
border-right: 10px solid transparent;
|
||||
border-bottom: 10px solid #fff8e5;
|
||||
}
|
||||
|
||||
/* Style for highlighting the missing plugin row */
|
||||
tr.inactive.prc-highlight-missing,
|
||||
tr.active.prc-highlight-missing {
|
||||
background-color: #fff8e5 !important; /* Use !important to override default styles */
|
||||
}
|
||||
|
||||
/* Make File Missing text bold and red */
|
||||
span.error {
|
||||
font-weight: bold !important;
|
||||
color: #dc3232 !important;
|
||||
}
|
99
admin/css/update-source-selector.css
Normal file
99
admin/css/update-source-selector.css
Normal file
@ -0,0 +1,99 @@
|
||||
/**
|
||||
* Update Source Selector Styles
|
||||
*/
|
||||
#fpden-update-source-modal {
|
||||
display: none;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
#fpden-update-source-modal h2 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px;
|
||||
font-size: 1.3em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#fpden-update-source-modal p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#fpden-update-source-form label {
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#fpden-update-source-form label:hover {
|
||||
background-color: #f0f0f1;
|
||||
}
|
||||
|
||||
#fpden-update-source-form input[type="radio"] {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.fpden-source-description {
|
||||
display: block;
|
||||
margin-left: 24px;
|
||||
font-size: 0.9em;
|
||||
color: #666;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.fpden-submit-container {
|
||||
margin-top: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.fpden-submit-container button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* Remove explicit color to inherit from theme */
|
||||
.fpden-update-source-toggle {
|
||||
/* color is now inherited from theme */
|
||||
}
|
||||
|
||||
.fpden-update-source-toggle:hover {
|
||||
/* hover color is now inherited from theme */
|
||||
}
|
||||
|
||||
/* Close button styles */
|
||||
.fpden-close-modal {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 40px; /* Large size */
|
||||
color: #666;
|
||||
line-height: 30px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
/* Source badges */
|
||||
.fpden-source-badge {
|
||||
display: inline-block;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.8em;
|
||||
margin-left: 5px;
|
||||
color: white;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.fpden-source-badge.wordpress, .fpden-source-badge.wordpress\.org {
|
||||
background-color: #0073aa;
|
||||
}
|
||||
|
||||
.fpden-source-badge.github {
|
||||
background-color: #24292e;
|
||||
}
|
||||
|
||||
.fpden-source-badge.gitea {
|
||||
background-color: #609926;
|
||||
}
|
||||
|
||||
.fpden-source-badge.auto {
|
||||
background-color: #666;
|
||||
}
|
131
admin/js/admin-scripts.js
Normal file
131
admin/js/admin-scripts.js
Normal file
@ -0,0 +1,131 @@
|
||||
(function() {
|
||||
// Track if we've already added our notice
|
||||
var noticeAdded = false;
|
||||
|
||||
// Function to inject our notice
|
||||
function injectNotice() {
|
||||
// If we've already added a notice, don't add another one
|
||||
if (noticeAdded) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Find all notification containers first
|
||||
var noticeContainers = document.querySelectorAll('.notice, .error, .updated, div.error');
|
||||
var targetNotice = null;
|
||||
|
||||
// Find all error notifications about missing plugins
|
||||
noticeContainers.forEach(function(notice) {
|
||||
if ((notice.textContent.includes('Plugin file does not exist') ||
|
||||
notice.textContent.includes('has been deactivated due to an error')) &&
|
||||
(notice.classList.contains('error') || notice.classList.contains('notice-error'))) {
|
||||
// We'll use the last matching notice as our target
|
||||
targetNotice = notice;
|
||||
console.log('Found WordPress error notice:', notice.textContent);
|
||||
}
|
||||
});
|
||||
|
||||
// If we didn't find a specific error notice, look for the general WordPress error at the top
|
||||
if (!targetNotice) {
|
||||
// Try to find the WordPress error message at the top of the page
|
||||
var wpError = document.querySelector('.error:not(.below-h2), div.error:not(.below-h2), .notice-error:not(.below-h2)');
|
||||
if (wpError) {
|
||||
targetNotice = wpError;
|
||||
console.log('Found general WordPress error notice');
|
||||
}
|
||||
}
|
||||
|
||||
// If we found a target notice, add our custom notice after it
|
||||
if (targetNotice) {
|
||||
// Check if we already added our notice
|
||||
if (targetNotice.nextElementSibling && targetNotice.nextElementSibling.classList.contains('prc-notice')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create our custom notice
|
||||
var ourNotice = document.createElement('div');
|
||||
ourNotice.className = 'prc-notice';
|
||||
|
||||
// Add content using localized strings passed via wp_localize_script
|
||||
var pluginMissingText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.pluginMissing ?
|
||||
fpdenData.i18n.pluginMissing : 'File Missing';
|
||||
var removeNoticeText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.removeNotice ?
|
||||
fpdenData.i18n.removeNotice : 'Remove Notice';
|
||||
var clickToScrollText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.clickToScroll ?
|
||||
fpdenData.i18n.clickToScroll : 'Click here to scroll to and highlight missing plugins';
|
||||
|
||||
ourNotice.innerHTML = '<h3 style="margin-top:0;color:#826200;">Fix Plugin Does Not Exist Notices 👆</h3>' +
|
||||
'<p>To remove these notices, scroll down to each plugin\'s row showing: plugin-name.php "<strong style="color:red">(' + pluginMissingText + ')</strong>". Then, click the "<strong>' + removeNoticeText + '</strong>" link for that plugin.</p>' +
|
||||
'<p>This safely removes the missing active plugin reference from your database, using the standard WordPress function to update your active plugin options table, to leave the remaining plugins installed and active.</p>' +
|
||||
'<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">' + clickToScrollText + '</a></p>';
|
||||
|
||||
// Insert our notice right after the error
|
||||
targetNotice.parentNode.insertBefore(ourNotice, targetNotice.nextSibling);
|
||||
|
||||
// Make sure our notice has the same width as the WordPress error notice
|
||||
ourNotice.style.width = targetNotice.offsetWidth + 'px';
|
||||
ourNotice.style.maxWidth = '100%';
|
||||
ourNotice.style.boxSizing = 'border-box';
|
||||
|
||||
// Mark that we've added our notice
|
||||
noticeAdded = true;
|
||||
|
||||
// Add scroll behavior
|
||||
var scrollLink = document.getElementById('prc-scroll-to-plugin');
|
||||
if (scrollLink) {
|
||||
scrollLink.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
// Look for all plugin rows, not just inactive ones
|
||||
var allPluginRows = document.querySelectorAll('tr.active, tr.inactive');
|
||||
for (var i = 0; i < allPluginRows.length; i++) {
|
||||
if (allPluginRows[i].textContent.includes('(File Missing)')) {
|
||||
// Add a class for highlighting instead of direct style manipulation
|
||||
allPluginRows[i].classList.add('prc-highlight-missing');
|
||||
allPluginRows[i].scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
// Optional: Remove highlight after a delay
|
||||
(function(row) {
|
||||
setTimeout(function() {
|
||||
row.classList.remove('prc-highlight-missing');
|
||||
}, 3000); // Remove highlight after 3 seconds
|
||||
})(allPluginRows[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Try to inject notices on multiple events to ensure it works
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Delay the initial injection to ensure WordPress has fully loaded its notices
|
||||
setTimeout(injectNotice, 100);
|
||||
|
||||
// Also set up a MutationObserver to watch for dynamically added notices
|
||||
var observer = new MutationObserver(function(mutations) {
|
||||
mutations.forEach(function(mutation) {
|
||||
if (mutation.addedNodes && mutation.addedNodes.length > 0) {
|
||||
// Check if added nodes are notices or contain notices
|
||||
mutation.addedNodes.forEach(function(node) {
|
||||
if (node.nodeType === 1 && (node.matches('.notice, .error, .updated, div.error') || node.querySelector('.notice, .error, .updated, div.error'))) {
|
||||
setTimeout(injectNotice, 50); // Small delay to ensure the DOM is updated
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Start observing the body for changes in children
|
||||
observer.observe(document.body, { childList: true, subtree: true });
|
||||
});
|
||||
|
||||
// Backup attempt with window.onload (less reliable than DOMContentLoaded but good fallback)
|
||||
window.addEventListener('load', function() {
|
||||
setTimeout(injectNotice, 500); // Delay slightly to ensure dynamic content is loaded
|
||||
});
|
||||
|
||||
// Additional attempt after a longer delay to catch late-loading notices
|
||||
window.addEventListener('load', function() {
|
||||
setTimeout(injectNotice, 1000); // Longer delay as final attempt
|
||||
});
|
||||
|
||||
})();
|
138
admin/js/update-source-selector.js
Normal file
138
admin/js/update-source-selector.js
Normal file
@ -0,0 +1,138 @@
|
||||
/**
|
||||
* Update Source Selector
|
||||
*
|
||||
* Handles the UI for selecting which source to use for plugin updates.
|
||||
*/
|
||||
jQuery(document).ready(function($) {
|
||||
// Open modal when toggle is clicked
|
||||
$(document).on('click', '.fpden-update-source-toggle', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
// Add overlay
|
||||
$('body').append('<div id="fpden-modal-overlay"></div>');
|
||||
$('#fpden-modal-overlay').css({
|
||||
'position': 'fixed',
|
||||
'top': 0,
|
||||
'left': 0,
|
||||
'width': '100%',
|
||||
'height': '100%',
|
||||
'background-color': 'rgba(0,0,0,0.5)',
|
||||
'z-index': 100000
|
||||
});
|
||||
|
||||
// Position and show modal
|
||||
var modal = $('#fpden-update-source-modal');
|
||||
modal.css({
|
||||
'position': 'fixed',
|
||||
'top': '50%',
|
||||
'left': '50%',
|
||||
'transform': 'translate(-50%, -50%)',
|
||||
'background-color': '#fff',
|
||||
'padding': '20px',
|
||||
'border-radius': '5px',
|
||||
'box-shadow': '0 0 10px rgba(0,0,0,0.5)',
|
||||
'z-index': 100001,
|
||||
'width': '400px',
|
||||
'max-width': '90%'
|
||||
}).show();
|
||||
|
||||
// Add close button styles
|
||||
$('.fpden-close-modal').css({
|
||||
'position': 'absolute',
|
||||
'top': '10px',
|
||||
'right': '10px',
|
||||
'cursor': 'pointer',
|
||||
'font-size': '20px',
|
||||
'color': '#666'
|
||||
});
|
||||
});
|
||||
|
||||
// Close modal when clicking overlay or close button
|
||||
$(document).on('click', '#fpden-modal-overlay', function() {
|
||||
$('#fpden-update-source-modal').hide();
|
||||
$('#fpden-modal-overlay').remove();
|
||||
});
|
||||
|
||||
// Separate handler for close button to ensure it works
|
||||
$(document).on('click', '.fpden-close-modal', function(e) {
|
||||
e.preventDefault();
|
||||
$('#fpden-update-source-modal').hide();
|
||||
$('#fpden-modal-overlay').remove();
|
||||
});
|
||||
|
||||
// Prevent clicks inside modal from closing it
|
||||
$('#fpden-update-source-modal').on('click', function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
// Handle form submission
|
||||
$('#fpden-update-source-form').on('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var source = $('input[name="update_source"]:checked').val();
|
||||
|
||||
// Show loading state
|
||||
var submitButton = $(this).find('button[type="submit"]');
|
||||
var originalText = submitButton.text();
|
||||
submitButton.text('Saving...').prop('disabled', true);
|
||||
|
||||
// Save via AJAX
|
||||
$.post(ajaxurl, {
|
||||
action: 'fpden_save_update_source',
|
||||
source: source,
|
||||
nonce: fpdenData.updateSourceNonce
|
||||
}, function(response) {
|
||||
submitButton.text(originalText).prop('disabled', false);
|
||||
|
||||
if (response.success) {
|
||||
// Update the badge
|
||||
var badgeText = source.charAt(0).toUpperCase() + source.slice(1);
|
||||
if (source === 'wordpress.org') {
|
||||
badgeText = 'WP.org';
|
||||
}
|
||||
|
||||
// Remove all badge classes and add the new one
|
||||
var badge = $('.fpden-update-source-toggle .fpden-source-badge');
|
||||
badge.removeClass('auto wordpress github gitea')
|
||||
.addClass(source)
|
||||
.text(badgeText);
|
||||
|
||||
// Show success message
|
||||
var message = $('<div class="fpden-success-message">Update source saved successfully!</div>');
|
||||
message.css({
|
||||
'color': 'green',
|
||||
'margin-top': '10px',
|
||||
'text-align': 'center'
|
||||
});
|
||||
|
||||
$('#fpden-update-source-form').append(message);
|
||||
|
||||
// Hide message and modal after delay
|
||||
setTimeout(function() {
|
||||
message.fadeOut(function() {
|
||||
$(this).remove();
|
||||
$('#fpden-update-source-modal').hide();
|
||||
$('#fpden-modal-overlay').remove();
|
||||
});
|
||||
}, 1500);
|
||||
} else {
|
||||
// Show error message
|
||||
var message = $('<div class="fpden-error-message">Error saving update source.</div>');
|
||||
message.css({
|
||||
'color': 'red',
|
||||
'margin-top': '10px',
|
||||
'text-align': 'center'
|
||||
});
|
||||
|
||||
$('#fpden-update-source-form').append(message);
|
||||
|
||||
// Hide message after delay
|
||||
setTimeout(function() {
|
||||
message.fadeOut(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
75
admin/js/version-fix.js
Normal file
75
admin/js/version-fix.js
Normal file
@ -0,0 +1,75 @@
|
||||
/**
|
||||
* Fix Plugin Version Display
|
||||
*
|
||||
* This script directly modifies the plugin details popup to show the correct version
|
||||
* when the popup is opened for our plugin.
|
||||
*/
|
||||
(function($) {
|
||||
'use strict';
|
||||
|
||||
// Current plugin version - this should match the version in the main plugin file
|
||||
const CURRENT_VERSION = '2.1.1';
|
||||
|
||||
// Plugin slugs to check for
|
||||
const OUR_SLUGS = ['wp-fix-plugin-does-not-exist-notices', 'fix-plugin-does-not-exist-notices'];
|
||||
|
||||
// Function to fix the version in the plugin details popup
|
||||
function fixPluginDetailsVersion() {
|
||||
// Check if we're on the plugins page
|
||||
if (window.location.href.indexOf('plugins.php') === -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Wait for the thickbox to be initialized
|
||||
$(document).on('tb_init', function() {
|
||||
// Set a timeout to allow the thickbox content to load
|
||||
setTimeout(function() {
|
||||
// Get the thickbox iframe
|
||||
const $iframe = $('#TB_iframeContent');
|
||||
if (!$iframe.length) return;
|
||||
|
||||
// Wait for iframe to load
|
||||
$iframe.on('load', function() {
|
||||
try {
|
||||
const iframeDoc = this.contentDocument || this.contentWindow.document;
|
||||
|
||||
// Get the plugin title from the iframe
|
||||
const $title = $(iframeDoc).find('h2.plugin-title');
|
||||
if (!$title.length) return;
|
||||
|
||||
// Check if this is our plugin
|
||||
const titleText = $title.text();
|
||||
if (titleText.indexOf('Fix \'Plugin file does not exist\' Notices') !== -1) {
|
||||
console.log('Found our plugin in the details popup, fixing version...');
|
||||
|
||||
// Find the version element
|
||||
const $version = $(iframeDoc).find('.plugin-version-author-uri');
|
||||
if ($version.length) {
|
||||
// Update the version text
|
||||
const versionText = $version.text();
|
||||
const newVersionText = versionText.replace(/Version: [0-9.]+|Version: 0\.0\.0/, 'Version: ' + CURRENT_VERSION);
|
||||
$version.text(newVersionText);
|
||||
console.log('Updated version to: ' + CURRENT_VERSION);
|
||||
}
|
||||
|
||||
// Also update the version in the header if it exists
|
||||
const $versionHeader = $(iframeDoc).find('.wrap h2:contains("Version:")');
|
||||
if ($versionHeader.length) {
|
||||
$versionHeader.text('Version: ' + CURRENT_VERSION);
|
||||
console.log('Updated version header to: ' + CURRENT_VERSION);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Error updating plugin version:', e);
|
||||
}
|
||||
});
|
||||
}, 500);
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize when the document is ready
|
||||
$(document).ready(function() {
|
||||
fixPluginDetailsVersion();
|
||||
});
|
||||
|
||||
})(jQuery);
|
@ -8,7 +8,7 @@
|
||||
'use strict';
|
||||
|
||||
// Current plugin version - this should match the version in the main plugin file
|
||||
const CURRENT_VERSION = '2.0.13';
|
||||
const CURRENT_VERSION = '2.1.1';
|
||||
|
||||
// Plugin slugs to check for
|
||||
const OUR_SLUGS = ['wp-fix-plugin-does-not-exist-notices', 'fix-plugin-does-not-exist-notices'];
|
||||
|
@ -253,7 +253,7 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
||||
// Always load our version fix script on the plugins page
|
||||
wp_enqueue_script(
|
||||
'fpden-version-fix',
|
||||
FPDEN_PLUGIN_URL . 'assets/js/version-fix.js',
|
||||
FPDEN_PLUGIN_URL . 'admin/js/version-fix.js',
|
||||
array( 'jquery', 'thickbox' ),
|
||||
FPDEN_VERSION,
|
||||
true // Load in footer.
|
||||
@ -267,14 +267,14 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
||||
|
||||
wp_enqueue_style(
|
||||
'fpden-admin-styles',
|
||||
FPDEN_PLUGIN_URL . 'assets/css/admin-styles.css',
|
||||
FPDEN_PLUGIN_URL . 'admin/css/admin-styles.css',
|
||||
array(),
|
||||
FPDEN_VERSION
|
||||
);
|
||||
|
||||
wp_enqueue_script(
|
||||
'fpden-admin-scripts',
|
||||
FPDEN_PLUGIN_URL . 'assets/js/admin-scripts.js',
|
||||
FPDEN_PLUGIN_URL . 'admin/js/admin-scripts.js',
|
||||
array( 'jquery' ), // Add dependencies if needed, e.g., jQuery.
|
||||
FPDEN_VERSION,
|
||||
true // Load in footer.
|
||||
@ -935,14 +935,14 @@ function fpden_add_update_source_modal() {
|
||||
// Enqueue the CSS and JS
|
||||
wp_enqueue_style(
|
||||
'fpden-update-source-selector',
|
||||
FPDEN_PLUGIN_URL . 'assets/css/update-source-selector.css',
|
||||
FPDEN_PLUGIN_URL . 'admin/css/update-source-selector.css',
|
||||
array(),
|
||||
FPDEN_VERSION
|
||||
);
|
||||
|
||||
wp_enqueue_script(
|
||||
'fpden-update-source-selector',
|
||||
FPDEN_PLUGIN_URL . 'assets/js/update-source-selector.js',
|
||||
FPDEN_PLUGIN_URL . 'admin/js/update-source-selector.js',
|
||||
array('jquery'),
|
||||
FPDEN_VERSION,
|
||||
true
|
||||
|
Reference in New Issue
Block a user