Compatibility with WordPress version 6.7.1

This commit is contained in:
biztechc
2024-12-26 13:11:20 +00:00
parent a9143409e6
commit 607c694f8e
2 changed files with 283 additions and 267 deletions
+6 -2
View File
@@ -2,8 +2,8 @@
Contributors: biztechc
Tags: WP jQuery DataTable, jQuery, jQuery DataTable, Table ,DataTable
Requires at least: 3.6.1
Tested up to: 6.1.1
Stable tag: 4.0.1
Tested up to: 6.7.1
Stable tag: 4.1.0
License: GPLv2 or later
Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,search, etc...
@@ -68,6 +68,10 @@ Is this plugin prepared for multisites? Yes.
== Changelog ==
= 4.1.0 =
* Compatibility with WordPress version 6.7.1
* Vulnerability Fix
= 4.0.1 =
* Compatibility with WordPress version 6.1.1
+60 -48
View File
@@ -1,15 +1,17 @@
<?php
/**
* Plugin Name: WP jQuery DataTable
* Description: Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,Searching, etc...
* Author: biztechc
* Author URI: https://www.appjetty.com/
* Version: 4.0.1
* WordPress Tested up to: 6.1.1
* Version: 4.1.0
* WordPress Tested up to: 6.7.1
*/
register_activation_hook(__FILE__, 'wp_jdt_activate_plugin');
function wp_jdt_activate_plugin() {
function wp_jdt_activate_plugin()
{
$fields = array(
'wp_jdt_info',
@@ -44,7 +46,8 @@ function wp_jdt_activate_plugin() {
}
add_action('admin_menu', 'wp_jdt_create_menu');
function wp_jdt_create_menu(){
function wp_jdt_create_menu()
{
//create admin side menu
add_menu_page(__('WP jQuery DataTable Settings'), __('WP jQuery DataTable'), 'administrator', 'wp-jdt', 'wp_jdt_settings_page');
@@ -53,7 +56,8 @@ function wp_jdt_create_menu(){
add_action('admin_init', 'wp_jdt_settings');
}
function wp_jdt_settings(){
function wp_jdt_settings()
{
//register our settings
register_setting('wp-jdt-settings-group', 'wp_jdt_info');
register_setting('wp-jdt-settings-group', 'wp_jdt_paging');
@@ -66,7 +70,8 @@ function wp_jdt_settings(){
register_setting('wp-jdt-settings-group', 'wp_jdt_searching');
}
function wp_jdt_settings_page(){
function wp_jdt_settings_page()
{
// Admin side page options
$wp_jdt_info = get_option('wp_jdt_info');
$wp_jdt_paging = get_option('wp_jdt_paging');
@@ -95,8 +100,7 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_info"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_info"> <span><?php _e('No'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_info"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_info"> <span><?php _e('No'); ?></span></label><br>
@@ -117,8 +121,7 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_paging"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_paging"> <span><?php _e('No'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_paging"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_paging"> <span><?php _e('No'); ?></span></label><br>
@@ -141,24 +144,21 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Full'); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e('Full Numbers'); ?>"><input type="radio" checked="checked" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<?php
}
else if($wp_jdt_paging_type == "full") {
} else if ($wp_jdt_paging_type == "full") {
?>
<label title="<?php _e('Simple'); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
<label title="<?php _e('Simple Numbers'); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
<label title="<?php _e('Full'); ?>"><input type="radio" checked="checked" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e('Full Numbers'); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<?php
}
else if($wp_jdt_paging_type == "simple_numbers"){
} else if ($wp_jdt_paging_type == "simple_numbers") {
?>
<label title="<?php _e('Simple'); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
<label title="<?php _e('Simple Numbers'); ?>"><input type="radio" checked="checked" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
<label title="<?php _e('Full'); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e('Full Numbers'); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Simple'); ?>"><input type="radio" checked="checked" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
<label title="<?php _e('Simple Numbers'); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
@@ -175,7 +175,11 @@ function wp_jdt_settings_page(){
<tr valign='top'>
<th scope='row'><?php _e('Rows Per Page'); ?></th>
<td>
<input type="number" class="small-text" value="<?php if($wp_jdt_page_length != NULL) { echo $wp_jdt_page_length; } else { echo "10"; } ?>" min="1" step="1" name="wp_jdt_page_length">
<input type="number" class="small-text" value="<?php if ($wp_jdt_page_length != NULL) {
echo $wp_jdt_page_length;
} else {
echo "10";
} ?>" min="1" step="1" name="wp_jdt_page_length">
</td>
</tr>
@@ -189,8 +193,7 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_b_length_change"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_b_length_change"> <span><?php _e('No'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_b_length_change"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_b_length_change"> <span><?php _e('No'); ?></span></label><br>
@@ -211,8 +214,7 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_ordering"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_ordering"> <span><?php _e('No'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_ordering"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_ordering"> <span><?php _e('No'); ?></span></label><br>
@@ -226,7 +228,11 @@ function wp_jdt_settings_page(){
<tr valign='top'>
<th scope='row'><?php _e('Specific Column Order'); ?></th>
<td>
<input type="number" class="small-text" value="<?php if($wp_jdt_order_row != NULL) { echo $wp_jdt_order_row; }else { echo "0"; }?>" min="0" step="1" name="wp_jdt_order_row"><br>
<input type="number" class="small-text" value="<?php if ($wp_jdt_order_row != NULL) {
echo $wp_jdt_order_row;
} else {
echo "0";
} ?>" min="0" step="1" name="wp_jdt_order_row"><br>
<br>
<fieldset>
<?php
@@ -235,8 +241,7 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Ascending Order'); ?>"><input type="radio" checked="checked" value="asc" name="wp_jdt_order_row_sort"> <span><?php _e('Ascending Order'); ?></span></label><br>
<label title="<?php _e('Descending Order'); ?>"><input type="radio" value="desc" name="wp_jdt_order_row_sort"> <span><?php _e('Descending Order'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Ascending Order'); ?>"><input type="radio" value="asc" name="wp_jdt_order_row_sort"> <span><?php _e('Ascending Order'); ?></span></label><br>
<label title="<?php _e('Descending Order'); ?>"><input type="radio" checked="checked" value="desc" name="wp_jdt_order_row_sort"> <span><?php _e('Descending Order'); ?></span></label><br>
@@ -257,8 +262,7 @@ function wp_jdt_settings_page(){
<label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_searching"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_searching"> <span><?php _e('No'); ?></span></label><br>
<?php
}
else {
} else {
?>
<label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_searching"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_searching"> <span><?php _e('No'); ?></span></label><br>
@@ -286,7 +290,8 @@ function wp_jdt_style_and_script()
}
add_shortcode('wp_jdt', 'wp_jdt_shortcode'); // add shortcode [wp_jdt id="test" info="true" paging="true" page_length="7" paging_type="full_numbers" b_length_change="true" ordering="true" order_row_number="3" order_row_number_sort="desc" searching="true"]
function wp_jdt_shortcode( $atts, $content = "" ) {
function wp_jdt_shortcode($atts, $content = "")
{
$wp_jdt_info = get_option('wp_jdt_info');
$wp_jdt_paging = get_option('wp_jdt_paging');
@@ -316,37 +321,43 @@ function wp_jdt_shortcode( $atts, $content = "" ) {
'searching' => "$wp_jdt_searching",
), $atts, 'wp_jdt');
$table_id = esc_js($atts['id']);
$table_info = esc_js($atts['info']);
$table_paging = esc_js($atts['paging']);
$table_page_length = esc_js($atts['page_length']);
$table_paging_type = esc_js($atts['paging_type']);
$table_b_length_change = esc_js($atts['b_length_change']);
$table_ordering = esc_js($atts['ordering']);
$table_order_row_number = esc_js($atts['order_row_number']);
$table_order_row_number_sort = esc_js($atts['order_row_number_sort']);
$table_searching = esc_js($atts['searching']);
$wp_jdt_script = "";
$wp_jdt_script .= "<script type='text/javascript' language='javascript' class='init'> \n";
$wp_jdt_script .= "jQuery(document).ready(function() { \n";
$wp_jdt_script .= "jQuery('#$atts[id]').DataTable({ \n";
$wp_jdt_script .= "'info': $atts[info], \n";
$wp_jdt_script .= "'paging': $atts[paging], \n";
if($atts['page_length'] > 0) {
$wp_jdt_script .= "'pageLength': $atts[page_length], \n";
}
else {
$wp_jdt_script .= "jQuery('#$table_id').DataTable({ \n";
$wp_jdt_script .= "'info': $table_info, \n";
$wp_jdt_script .= "'paging': $table_paging, \n";
if ($table_page_length > 0) {
$wp_jdt_script .= "'pageLength': $table_page_length, \n";
} else {
$wp_jdt_script .= "'pageLength': $wp_jdt_page_length, \n";
}
$wp_jdt_script .= "'pagingType': '$atts[paging_type]', \n";
$wp_jdt_script .= "'bLengthChange': $atts[b_length_change], \n";
$wp_jdt_script .= "'ordering': $atts[ordering], \n";
if ( $atts['order_row_number'] != '' ) { // if 'Specific Column Order' is not null than add this attribute
$wp_jdt_script .= "'pagingType': '$table_paging_type', \n";
$wp_jdt_script .= "'bLengthChange': $table_b_length_change, \n";
$wp_jdt_script .= "'ordering': $table_ordering, \n";
if ($table_order_row_number != '') { // if 'Specific Column Order' is not null than add this attribute
$atts['order_row_number_sort'] = ( $atts['order_row_number_sort'] != "" ) ? $atts['order_row_number_sort'] : 'desc';
$wp_jdt_script .= "'order': [$atts[order_row_number],'$atts[order_row_number_sort]'], \n";
$table_order_row_number_sort = ($table_order_row_number_sort != "") ? $table_order_row_number_sort : 'desc';
$wp_jdt_script .= "'order': [$table_order_row_number,'$table_order_row_number_sort'], \n";
}
$wp_jdt_script .= "'searching': $atts[searching], \n";
$wp_jdt_script .= "'searching': $table_searching, \n";
$wp_jdt_script .= "} ); \n";
$table_wrapper_id = $table_id . "_wrapper";
$wp_jdt_script .= "jQuery('#$atts[id]_wrapper select').prepend('<option value=$atts[page_length]>" . __( 'Select' ) . "</option>').val('');";
// if 'Specific Column Order' is not null and ordring is true
if ( $atts['order_row_number'] != '' && $atts['ordering'] == 'true' ) {
//$wp_jdt_script .= "jQuery('#$atts[id]_wrapper select')[0].options[0].selected = true;";
}
$wp_jdt_script .= "jQuery('#$table_wrapper_id select').prepend('<option value=$table_page_length>" . __('Select') . "</option>').val('');";
$wp_jdt_script .= "} ); \n";
$wp_jdt_script .= "</script>";
@@ -359,7 +370,8 @@ function wp_jdt_shortcode( $atts, $content = "" ) {
}
register_uninstall_hook(__FILE__, 'wp_jdt_uninstall'); // uninstall plug-in
function wp_jdt_uninstall() {
function wp_jdt_uninstall()
{
delete_option('wp_jdt_info');
delete_option('wp_jdt_paging');
delete_option('wp_jdt_page_length');