420 lines
13 KiB
PHP
420 lines
13 KiB
PHP
|
<?php
|
||
|
$scporder_options = get_option( 'scporder_options' );
|
||
|
$scporder_objects = isset( $scporder_options['objects'] ) ? $scporder_options['objects'] : array();
|
||
|
$scporder_tags = isset( $scporder_options['tags'] ) ? $scporder_options['tags'] : array();
|
||
|
|
||
|
$advanced_view = isset( $scporder_options['show_advanced_view'] ) ? $scporder_options['show_advanced_view'] : '';
|
||
|
?>
|
||
|
<style>
|
||
|
|
||
|
.epsilon-toggle {
|
||
|
position: relative;
|
||
|
display:inline-block;
|
||
|
user-select: none;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__items {
|
||
|
box-sizing: border-box;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__items > * {
|
||
|
box-sizing: inherit;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__input[type=checkbox] {
|
||
|
border-radius: 2px;
|
||
|
border: 2px solid #6c7781;
|
||
|
margin-right: 12px;
|
||
|
transition: none;
|
||
|
height: 100%;
|
||
|
left: 0;
|
||
|
top: 0;
|
||
|
margin: 0;
|
||
|
padding: 0;
|
||
|
opacity: 0;
|
||
|
position: absolute;
|
||
|
width: 100%;
|
||
|
z-index: 1;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__track {
|
||
|
background-color: #fff;
|
||
|
border: 2px solid #6c7781;
|
||
|
border-radius: 9px;
|
||
|
display: inline-block;
|
||
|
height: 18px;
|
||
|
width: 36px;
|
||
|
vertical-align: top;
|
||
|
transition: background .2s ease;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__thumb {
|
||
|
background-color: #6c7781;
|
||
|
border: 5px solid #6c7781;
|
||
|
border-radius: 50%;
|
||
|
display: block;
|
||
|
height: 10px;
|
||
|
width: 10px;
|
||
|
position: absolute;
|
||
|
left: 4px;
|
||
|
top: 4px;
|
||
|
transition: transform .2s ease;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__off {
|
||
|
position: absolute;
|
||
|
right: 6px;
|
||
|
top: 6px;
|
||
|
color: #6c7781;
|
||
|
fill: currentColor;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__on {
|
||
|
position: absolute;
|
||
|
top: 6px;
|
||
|
left: 8px;
|
||
|
border: 1px solid #fff;
|
||
|
outline: 1px solid transparent;
|
||
|
outline-offset: -1px;
|
||
|
display: none;
|
||
|
}
|
||
|
|
||
|
|
||
|
.epsilon-toggle__input[type=checkbox]:checked + .epsilon-toggle__items .epsilon-toggle__track {
|
||
|
background-color: #11a0d2;
|
||
|
border: 9px solid transparent;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__input[type=checkbox]:checked + .epsilon-toggle__items .epsilon-toggle__thumb {
|
||
|
background-color: #fff;
|
||
|
border-width: 0;
|
||
|
transform: translateX(18px);
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__input[type=checkbox]:checked + .epsilon-toggle__items .epsilon-toggle__off {
|
||
|
display: none;
|
||
|
}
|
||
|
|
||
|
.epsilon-toggle__input[type=checkbox]:checked + .epsilon-toggle__items .epsilon-toggle__on {
|
||
|
display: inline-block;
|
||
|
}
|
||
|
|
||
|
.scpo-reset-response {
|
||
|
margin-left:15px;
|
||
|
color:#0085ba;
|
||
|
}
|
||
|
</style>
|
||
|
<div class="wrap">
|
||
|
<h2><?php _e( 'Simple Custom Post Order Settings', 'simple-custom-post-order' ); ?></h2>
|
||
|
<?php if ( isset( $_GET['msg'] ) ) : ?>
|
||
|
<div id="message" class="updated below-h2">
|
||
|
<?php if ( $_GET['msg'] == 'update' ) : ?>
|
||
|
<p><?php _e( 'Settings Updated.', 'simple-custom-post-order' ); ?></p>
|
||
|
<?php endif; ?>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
|
||
|
<form method="post">
|
||
|
|
||
|
<?php
|
||
|
if ( function_exists( 'wp_nonce_field' ) ) {
|
||
|
wp_nonce_field( 'nonce_scporder' );}
|
||
|
?>
|
||
|
|
||
|
<div id="scporder_select_objects">
|
||
|
|
||
|
<table class="form-table">
|
||
|
<tbody>
|
||
|
<tr valign="top">
|
||
|
<th scope="row"><?php _e( 'Check to Sort Post Types', 'simple-custom-post-order' ); ?></th>
|
||
|
<td>
|
||
|
|
||
|
<label>
|
||
|
<div class="epsilon-toggle">
|
||
|
<input id="scporder_allcheck_objects" class="epsilon-toggle__input" type="checkbox">
|
||
|
<div class="epsilon-toggle__items">
|
||
|
<span class="epsilon-toggle__track"></span>
|
||
|
<span class="epsilon-toggle__thumb"></span>
|
||
|
<svg class="epsilon-toggle__off" width="6" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 6 6">
|
||
|
<path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path>
|
||
|
</svg>
|
||
|
<svg class="epsilon-toggle__on" width="2" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 2 6">
|
||
|
<path d="M0 0h2v6H0z"></path>
|
||
|
</svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php _e( 'Check All', 'simple-custom-post-order' ); ?></label><br>
|
||
|
<?php
|
||
|
$post_types_args = apply_filters(
|
||
|
'scpo_post_types_args',
|
||
|
array(
|
||
|
'show_ui' => true,
|
||
|
'show_in_menu' => true,
|
||
|
),
|
||
|
$scporder_options
|
||
|
);
|
||
|
|
||
|
$post_types = get_post_types( $post_types_args, 'objects' );
|
||
|
|
||
|
foreach ( $post_types as $post_type ) {
|
||
|
if ( $post_type->name == 'attachment' ) {
|
||
|
continue;
|
||
|
}
|
||
|
?>
|
||
|
<label>
|
||
|
<div class="epsilon-toggle">
|
||
|
<input class="epsilon-toggle__input" type="checkbox"
|
||
|
name="objects[]" value="<?php echo $post_type->name; ?>"
|
||
|
<?php
|
||
|
if ( isset( $scporder_objects ) && is_array( $scporder_objects ) ) {
|
||
|
if ( in_array( $post_type->name, $scporder_objects ) ) {
|
||
|
echo 'checked="checked"';
|
||
|
}
|
||
|
}
|
||
|
?>
|
||
|
>
|
||
|
<div class="epsilon-toggle__items">
|
||
|
<span class="epsilon-toggle__track"></span>
|
||
|
<span class="epsilon-toggle__thumb"></span>
|
||
|
<svg class="epsilon-toggle__off" width="6" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 6 6">
|
||
|
<path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path>
|
||
|
</svg>
|
||
|
<svg class="epsilon-toggle__on" width="2" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 2 6">
|
||
|
<path d="M0 0h2v6H0z"></path>
|
||
|
</svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php echo $post_type->label; ?></label><br>
|
||
|
<?php
|
||
|
}
|
||
|
?>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<div id="scporder_select_tags">
|
||
|
<table class="form-table">
|
||
|
<tbody>
|
||
|
<tr valign="top">
|
||
|
<th scope="row"><?php _e( 'Check to Sort Taxonomies', 'simple-custom-post-order' ); ?></th>
|
||
|
<td>
|
||
|
|
||
|
<label>
|
||
|
<div class="epsilon-toggle">
|
||
|
<input id="scporder_allcheck_tags" class="epsilon-toggle__input" type="checkbox">
|
||
|
<div class="epsilon-toggle__items">
|
||
|
<span class="epsilon-toggle__track"></span>
|
||
|
<span class="epsilon-toggle__thumb"></span>
|
||
|
<svg class="epsilon-toggle__off" width="6" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 6 6">
|
||
|
<path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path>
|
||
|
</svg>
|
||
|
<svg class="epsilon-toggle__on" width="2" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 2 6">
|
||
|
<path d="M0 0h2v6H0z"></path>
|
||
|
</svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php _e( 'Check All', 'simple-custom-post-order' ); ?></label><br>
|
||
|
|
||
|
<?php
|
||
|
$taxonomies = get_taxonomies(
|
||
|
array(
|
||
|
'show_ui' => true,
|
||
|
),
|
||
|
'objects'
|
||
|
);
|
||
|
|
||
|
foreach ( $taxonomies as $taxonomy ) {
|
||
|
if ( $taxonomy->name == 'post_format' ) {
|
||
|
continue;
|
||
|
}
|
||
|
?>
|
||
|
<label>
|
||
|
<div class="epsilon-toggle">
|
||
|
<input class="epsilon-toggle__input" type="checkbox"
|
||
|
name="tags[]" value="<?php echo $taxonomy->name; ?>"
|
||
|
<?php
|
||
|
if ( isset( $scporder_tags ) && is_array( $scporder_tags ) ) {
|
||
|
if ( in_array( $taxonomy->name, $scporder_tags ) ) {
|
||
|
echo 'checked="checked"';
|
||
|
}
|
||
|
}
|
||
|
?>
|
||
|
>
|
||
|
<div class="epsilon-toggle__items">
|
||
|
<span class="epsilon-toggle__track"></span>
|
||
|
<span class="epsilon-toggle__thumb"></span>
|
||
|
<svg class="epsilon-toggle__off" width="6" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 6 6">
|
||
|
<path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path>
|
||
|
</svg>
|
||
|
<svg class="epsilon-toggle__on" width="2" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 2 6">
|
||
|
<path d="M0 0h2v6H0z"></path>
|
||
|
</svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php echo $taxonomy->label; ?></label><br>
|
||
|
<?php
|
||
|
}
|
||
|
?>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
</div>
|
||
|
<div id="scporder_advanved_view">
|
||
|
<table class="form-table">
|
||
|
<tbody>
|
||
|
<tr valign="top">
|
||
|
<th scope="row"><?php _e( 'Check to see advanced view of Post Types ', 'simple-custom-post-order' ); ?></th>
|
||
|
<td>
|
||
|
<label>
|
||
|
<div class="epsilon-toggle">
|
||
|
<input class="epsilon-toggle__input" type="checkbox"
|
||
|
name="show_advanced_view" value="1" <?php checked( '1', $advanced_view, 'checked="checked"' ); ?>>
|
||
|
<div class="epsilon-toggle__items">
|
||
|
<span class="epsilon-toggle__track"></span>
|
||
|
<span class="epsilon-toggle__thumb"></span>
|
||
|
<svg class="epsilon-toggle__off" width="6" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 6 6">
|
||
|
<path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path>
|
||
|
</svg>
|
||
|
<svg class="epsilon-toggle__on" width="2" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 2 6">
|
||
|
<path d="M0 0h2v6H0z"></path>
|
||
|
</svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php echo __( 'Show advanced view of Post Types', 'simple-custom-post-order' ); ?>
|
||
|
</label><br>
|
||
|
<p class="description"><?php _e( 'NOTICE: This is for advanced users only.', 'simple-custom-post-order' ); ?></p>
|
||
|
<!--@todo : @giucu please look into below description. -->
|
||
|
<p class="description"><?php _e( 'Check to include other custom post types. You will need to update your settings after enabling this option.', 'simple-custom-post-order' ); ?></p>
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
|
||
|
<p class="submit">
|
||
|
<input type="submit" class="button-primary" name="scporder_submit" value="<?php _e( 'Update', 'simple-custom-post-order' ); ?>">
|
||
|
</p>
|
||
|
|
||
|
</form>
|
||
|
<div class="scpo-reset-order">
|
||
|
<h1>Want to reset the order of the posts?</h1>
|
||
|
<div id="scpo_reset_select_objects">
|
||
|
<table class="form-table">
|
||
|
<tbody>
|
||
|
<tr valign="top">
|
||
|
<th scope="row"><?php _e( 'Check to reset order of Post Types', 'simple-custom-post-order' ); ?></th>
|
||
|
<td>
|
||
|
<?php
|
||
|
foreach ( $post_types as $post_type ) {
|
||
|
if ( $post_type->name == 'attachment' ) {
|
||
|
continue;
|
||
|
}
|
||
|
?>
|
||
|
<label>
|
||
|
<div class="epsilon-toggle">
|
||
|
<input class="epsilon-toggle__input" type="checkbox"
|
||
|
name="<?php echo $post_type->name; ?>" value="">
|
||
|
<div class="epsilon-toggle__items">
|
||
|
<span class="epsilon-toggle__track"></span>
|
||
|
<span class="epsilon-toggle__thumb"></span>
|
||
|
<svg class="epsilon-toggle__off" width="6" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 6 6">
|
||
|
<path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path>
|
||
|
</svg>
|
||
|
<svg class="epsilon-toggle__on" width="2" height="6" aria-hidden="true"
|
||
|
role="img" focusable="false" viewBox="0 0 2 6">
|
||
|
<path d="M0 0h2v6H0z"></path>
|
||
|
</svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php echo $post_type->label; ?></label><br>
|
||
|
<?php
|
||
|
}
|
||
|
?>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
</div>
|
||
|
<div>
|
||
|
<a id="reset-scp-order" class="button button-primary" href="#">Reset order</a>
|
||
|
<span class="scpo-reset-response"></span>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<h3>Like this simple plugin?</h3>
|
||
|
<p>Make sure to <a href="https://wordpress.org/support/plugin/simple-custom-post-order/reviews/?filter=5"><strong>rate it</strong></a> and visit us at <a href="https://colorlib.com/wp/"><strong>Colorlib.com</strong></a></p>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<script>
|
||
|
(function ($) {
|
||
|
|
||
|
$("#scporder_allcheck_objects").on('click', function () {
|
||
|
var items = $("#scporder_select_objects input");
|
||
|
if ($(this).is(':checked'))
|
||
|
$(items).prop('checked', true);
|
||
|
else
|
||
|
$(items).prop('checked', false);
|
||
|
});
|
||
|
|
||
|
$("#scporder_allcheck_tags").on('click', function () {
|
||
|
var items = $("#scporder_select_tags input");
|
||
|
if ($(this).is(':checked'))
|
||
|
$(items).prop('checked', true);
|
||
|
else
|
||
|
$(items).prop('checked', false);
|
||
|
});
|
||
|
|
||
|
// Reset order function
|
||
|
$('#reset-scp-order').click(function (e) {
|
||
|
|
||
|
e.preventDefault();
|
||
|
var btn = $(this),
|
||
|
item_input = $(this).parents('.scpo-reset-order').find('input:checked'),
|
||
|
items = [],
|
||
|
data = {
|
||
|
action: 'scpo_reset_order',
|
||
|
scpo_security: '<?php echo wp_create_nonce( 'scpo-reset-order' ); ?>'
|
||
|
};
|
||
|
|
||
|
if (item_input.length > 0) {
|
||
|
item_input.each(function (i, item) {
|
||
|
items.push(item.name);
|
||
|
});
|
||
|
|
||
|
data['items'] = items;
|
||
|
|
||
|
$.post("<?php echo admin_url( 'admin-ajax.php' ); ?>", data, function (response) {
|
||
|
if (response) {
|
||
|
btn.next('.scpo-reset-response').text(response);
|
||
|
setTimeout(function(){
|
||
|
location.reload(true);
|
||
|
},1500);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
})(jQuery)
|
||
|
</script>
|