Error: Missing "name" attribute in the shortcode.';
}
$shortcode = '[' . $atts['name'];
// Add any attributes to the shortcode
foreach ($atts as $attribute => $value) {
if ($attribute !== 'name') {
$shortcode .= ' ' . $attribute . '="' . $value . '"';
}
}
$shortcode .= ']';
if ($content) {
// If the shortcode has inner content, display it.
$output = $content;
} else {
// Otherwise, display the actual shortcode output with the 'aio-sn' class.
$output = '' . $shortcode . '';
}
return $output;
}
add_shortcode('sn', 'display_aio_sn_shortcode');
/**
* Add CSS class 'aio-style' to all shortcodes.
*/
function aiosc_add_shortcode_css_class($content) {
// Add the 'dateupdater-style' class to all shortcodes
$pattern = '/\[([^\]]+)\]/';
$replacement = '[$1]';
return preg_replace($pattern, $replacement, $content);
}
add_filter('the_content', 'aiosc_add_shortcode_css_class');
// Include all PHP files in a given folder and its subdirectories
function include_files_recursively($folder) {
$files = glob($folder . '/*.php');
foreach ($files as $file) {
require_once $file;
}
$subdirectories = glob($folder . '/*', GLOB_ONLYDIR);
foreach ($subdirectories as $subdirectory) {
include_files_recursively($subdirectory);
}
}
// Specify the root folder
$shortcode_root_folder = plugin_dir_path(__FILE__) . "includes/shortcodes/";
// Include all PHP files from the root folder and its subdirectories
include_files_recursively($shortcode_root_folder);
require_once plugin_dir_path(__FILE__) . "includes/custom-plugins/rankmath.php";
// Include shortcode support files
require_once plugin_dir_path(__FILE__) . "admin/aiosc-support.php";
require_once plugin_dir_path(__FILE__) . "admin/main-settings.php";
require_once plugin_dir_path(__FILE__) . "includes/options/download-zip.php";
require_once plugin_dir_path(__FILE__) . "includes/options/duplicator.php";
require_once plugin_dir_path(__FILE__) .'/includes/options/custom-css.php';
require_once plugin_dir_path(__FILE__) .'/includes/options/login-url.php';
require_once plugin_dir_path(__FILE__) .'/includes/options/search-excluder.php';
// Shortcodes Settings In Plugins
add_filter("plugin_action_links_aio-shortcodes/aio-shortcodes.php", "aiosc_settings_link");
function aiosc_settings_link($links)
{
// Create the "Shortcode List" link in bold.
$shortcode_list_link =
'' .
__("Shortcodes List") .
"";
// Create the "Settings" link.
$settings_link =
'' .
__("Settings") .
"";
// Find the position of the "Deactivate" link in the $links array.
$deactivate_index = array_search("deactivate", array_keys($links));
// Insert the "Shortcode List" link right before the "Deactivate" link.
if (false !== $deactivate_index) {
array_splice($links, $deactivate_index, 0, $settings_link);
array_unshift($links, $shortcode_list_link);
}
return $links;
}
function enqueue_admin_styles() {
wp_enqueue_script('aio-admin-script', plugin_dir_url(__FILE__). 'assets/js/aio-admin-js.js', array('jquery'), null);
wp_enqueue_style('aio-admin-style', plugin_dir_url(__FILE__) . 'assets/css/aio-admin-style.css', array(), 'all');
}
add_action('admin_enqueue_scripts', 'enqueue_admin_styles');
/**
* Activate the plugin.
*/
function aio_plugin_activate() {
add_option('aio_login_url_slug');
flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'aio_plugin_activate' );
/**
* Deactivation hook.
*/
function aio_plugin_deactivate() {
delete_option('aio_login_url_slug');
flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, 'aio_plugin_deactivate' );
add_action( 'customize_preview_init', 'aiosc_css_live_preview' );
/**
* Add our live preview.
*
* @since 1.0
*/
function aiosc_css_live_preview() {
wp_enqueue_script( 'aio-css-live-preview', trailingslashit( plugin_dir_url(__FILE__) ) . 'assets/js/live-preview.js', array( 'customize-preview' ), null, true );
}