Compare commits
8 Commits
d1ae5f021a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 735a4c3038 | |||
|
|
37572b5a8a | ||
|
|
681e2ed152 | ||
|
|
79fff56a25 | ||
|
|
06485c47b2 | ||
|
|
063c4a6ed6 | ||
| b3233a13b9 | |||
|
|
fe1ff96dbc |
@@ -26,4 +26,4 @@ jobs:
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
files: |-
|
||||
*.zip
|
||||
dist/*.zip
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@ vendor
|
||||
lib
|
||||
node_modules
|
||||
*.zip
|
||||
dist
|
||||
|
||||
25
.vscode/sftp.json
vendored
25
.vscode/sftp.json
vendored
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "acornfinehomes.com",
|
||||
"host": "og6.cleverogre.com",
|
||||
"protocol": "sftp",
|
||||
"port": 22,
|
||||
"username": "acornfinehomes",
|
||||
"password": "kwSSrK7nkV3J54nV2E7XcjHH",
|
||||
"privateKeyPath": "~/.ssh/id_rsa",
|
||||
"remotePath": "/home/acornfinehomes/htdocs/acornfinehomes.com/wp-content/plugins/ogre-sort/",
|
||||
"uploadOnSave": true,
|
||||
"useTempFile": false,
|
||||
"openSsh": false,
|
||||
"ignore": [
|
||||
".vscode",
|
||||
".git",
|
||||
".DS_Store",
|
||||
".gitignore",
|
||||
"composer.json",
|
||||
"composer.lock",
|
||||
"gulpfile.js",
|
||||
"Makefile",
|
||||
"package-lock.json",
|
||||
"package.json"
|
||||
]
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://getcomposer.org/schema.json",
|
||||
"name": "cleverogre/ogre-sort",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"title": "Ogre Sort",
|
||||
"description": "WordPress plugin which enables drag-and-drop sorting within the admin area for posts, terms, and posts within terms.",
|
||||
"author": "CleverOgre",
|
||||
|
||||
44
gulpfile.js
44
gulpfile.js
@@ -1,19 +1,37 @@
|
||||
const gulp = require('gulp'),
|
||||
const fs = require('fs'),
|
||||
gulp = require('gulp'),
|
||||
clean = require('gulp-clean'),
|
||||
path = require('path'),
|
||||
zip = require('gulp-zip').default;
|
||||
|
||||
const NAME = path.basename(__dirname);
|
||||
const PACKAGE = require('./package.json');
|
||||
const NAME = PACKAGE.name.split('/').pop();
|
||||
|
||||
// Clean Tasks
|
||||
|
||||
gulp.task('clean-package', () => {
|
||||
return gulp.src(`${NAME}.zip`, {
|
||||
gulp.task('clean-package-files', (done) => {
|
||||
if (!fs.existsSync('./dist')) return done();
|
||||
return gulp.src(`./dist/${NAME}`, {
|
||||
read: false,
|
||||
allowEmpty: true,
|
||||
}).pipe(clean());
|
||||
});
|
||||
|
||||
gulp.task('clean-package-zip', (done) => {
|
||||
if (!fs.existsSync('./dist')) return done();
|
||||
return gulp.src('./dist/*.zip', {
|
||||
read: false,
|
||||
allowEmpty: true,
|
||||
}).pipe(clean());
|
||||
});
|
||||
|
||||
gulp.task(
|
||||
'clean-package',
|
||||
gulp.series(
|
||||
'clean-package-files',
|
||||
'clean-package-zip'
|
||||
)
|
||||
);
|
||||
|
||||
gulp.task(
|
||||
'clean',
|
||||
gulp.series(
|
||||
@@ -23,7 +41,7 @@ gulp.task(
|
||||
|
||||
// Package Tasks
|
||||
|
||||
gulp.task('package-compress', () => {
|
||||
gulp.task('package-copy', () => {
|
||||
return gulp.src([
|
||||
'assets/**/*',
|
||||
'inc/**/*',
|
||||
@@ -35,16 +53,26 @@ gulp.task('package-compress', () => {
|
||||
], {
|
||||
base: './',
|
||||
encoding: false,
|
||||
})
|
||||
.pipe(gulp.dest(`./dist/${NAME}`));
|
||||
});
|
||||
|
||||
gulp.task('package-compress', () => {
|
||||
return gulp.src(`./dist/${NAME}/**/*`, {
|
||||
base: './dist',
|
||||
encoding: false,
|
||||
})
|
||||
.pipe(zip(`${NAME}.zip`))
|
||||
.pipe(gulp.dest('./'));
|
||||
.pipe(gulp.dest('./dist'));
|
||||
});
|
||||
|
||||
gulp.task(
|
||||
'package',
|
||||
gulp.series(
|
||||
'clean',
|
||||
'package-compress'
|
||||
'package-copy',
|
||||
'package-compress',
|
||||
'clean-package-files'
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
/**
|
||||
* @package ogre-sort
|
||||
* @author cleverogre
|
||||
* @copyright 2025 CleverOgre
|
||||
* @copyright 2026 CleverOgre
|
||||
* @license GLP-3.0-or-later
|
||||
* @version 1.0.0
|
||||
* @version 1.1.1
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
||||
@@ -196,12 +196,13 @@ final class Settings {
|
||||
|
||||
echo implode('<br>', array_map(
|
||||
fn (object $option):string => sprintf(
|
||||
'<label><input type="checkbox" name="%s[%s][]" value="%s" %s> %s</label>',
|
||||
'<label><input type="checkbox" name="%s[%s][]" value="%s" %s> %s (%s)</label>',
|
||||
esc_attr(Plugin::get_id()),
|
||||
esc_attr($name),
|
||||
esc_attr($option->name),
|
||||
checked($this->is_checked($name, $option->name), display: false),
|
||||
esc_html($option->label)
|
||||
esc_html($option->label),
|
||||
esc_html($option->name)
|
||||
),
|
||||
$options
|
||||
));
|
||||
|
||||
@@ -300,17 +300,18 @@ final class Sort {
|
||||
foreach ($wp_query->query['tax_query'] as $tax) {
|
||||
if (!isset($tax['taxonomy'])) continue;
|
||||
if ($current_relationship['taxonomy'] != $tax['taxonomy']) continue;
|
||||
$term_by = $tax['field'];
|
||||
$term_by = $tax['field'] ?? 'term_id';
|
||||
$term_id = $tax['terms'];
|
||||
break;
|
||||
}
|
||||
} else if ($current_relationship['taxonomy'] === 'category' && isset($wp_query->query['category_name'])) {
|
||||
$term_id = $wp_query->query['category_name'];
|
||||
}
|
||||
if (empty($term_id)) break;
|
||||
if (is_array($term_id)) $term_id = array_values($term_id)[0];
|
||||
if (empty($term_id)) return;
|
||||
|
||||
$term = get_term_by($term_by, $term_id, $current_relationship['taxonomy']);
|
||||
if (!is_a($term, 'WP_Term')) break;
|
||||
if (!is_a($term, 'WP_Term')) return;
|
||||
|
||||
$wp_query->set('meta_key', "ogre-sort_{$current_relationship['taxonomy']}_{$term->term_id}");
|
||||
$wp_query->set('orderby', 'meta_value_num');
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
*
|
||||
* @package ogre-sort
|
||||
* @author cleverogre
|
||||
* @copyright 2025 CleverOgre
|
||||
* @copyright 2026 CleverOgre
|
||||
* @license GLP-3.0-or-later
|
||||
* @version 1.1.0
|
||||
* @version 1.1.1
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @wordpress-plugin
|
||||
* Plugin Name: Ogre Sort
|
||||
* Plugin URI: https://plugins.cleverogre.com/plugin/ogre-sort/
|
||||
* Description: WordPress plugin which enables drag-and-drop sorting within the admin area for posts, terms, and posts within terms.
|
||||
* Version: 1.1.0
|
||||
* Version: 1.1.1
|
||||
* Requires at least: 5.0
|
||||
* Requires PHP: 8.0
|
||||
* Author: CleverOgre
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://www.schemastore.org/package.json",
|
||||
"name": "cleverogre/ogre-sort",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"title": "Ogre Sort",
|
||||
"description": "WordPress plugin which enables drag-and-drop sorting within the admin area for posts, terms, and posts within terms.",
|
||||
"author": "CleverOgre",
|
||||
|
||||
@@ -3,7 +3,7 @@ Contributors: ogrecooper, cleverogre
|
||||
Tested up to: 6.8
|
||||
Requires at least: 5.0
|
||||
Requires PHP: 8.0
|
||||
Version: 1.1.0
|
||||
Version: 1.1.1
|
||||
License: GPLv3 or later
|
||||
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
Copyright: CleverOgre
|
||||
@@ -28,6 +28,10 @@ If you don't know what plugin you have downloaded, please contact [CleverOgre](t
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.1.1 - 2026-02-03 =
|
||||
* Add name slugs to admin UI
|
||||
* Fix undefined array key notice
|
||||
|
||||
= 1.1.0 - 2026-01-21 =
|
||||
* Add manual refresh action
|
||||
* Fix filtering issue during refresh
|
||||
|
||||
Reference in New Issue
Block a user