Version Description
- Fixed coding standards errors.
- Introduced coding standards validation.
Download this release
Release Info
| Developer | studiopress |
| Plugin | |
| Version | 2.2.0 |
| Comparing to | |
| See all releases | |
Code changes from version 2.1.0 to 2.2.0
- .circleci/config.yml +22 -0
- .editorconfig +21 -0
- composer.json +32 -0
- composer.lock +461 -0
- genesis-simple-sidebars.php +20 -167
- includes/class-genesis-simple-sidebars-admin.php +77 -69
- includes/class-genesis-simple-sidebars-core.php +36 -12
- includes/class-genesis-simple-sidebars-entry.php +28 -10
- includes/class-genesis-simple-sidebars-term.php +23 -4
- includes/class-genesis-simple-sidebars.php +175 -0
- includes/deprecated.php +10 -3
- includes/functions.php +5 -0
- includes/views/admin-edit.php +22 -13
- includes/views/admin-main.php +25 -16
- includes/views/entry-metabox-content.php +25 -14
- includes/views/term-edit-sidebar-form.php +22 -14
- plugin.php +22 -16
- readme.txt +7 -5
.circleci/config.yml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: 2.1
|
| 2 |
+
|
| 3 |
+
jobs:
|
| 4 |
+
test:
|
| 5 |
+
docker:
|
| 6 |
+
- image: circleci/php:7.3.3-stretch-node-browsers
|
| 7 |
+
steps:
|
| 8 |
+
- checkout
|
| 9 |
+
- prepare-environment
|
| 10 |
+
- run: composer phpcs
|
| 11 |
+
|
| 12 |
+
commands:
|
| 13 |
+
prepare-environment:
|
| 14 |
+
description: "Install dependencies."
|
| 15 |
+
steps:
|
| 16 |
+
- run: composer install
|
| 17 |
+
|
| 18 |
+
workflows:
|
| 19 |
+
version: 2
|
| 20 |
+
check-wp-cs:
|
| 21 |
+
jobs:
|
| 22 |
+
- test
|
.editorconfig
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file is for unifying the coding style for different editors and IDEs
|
| 2 |
+
# editorconfig.org
|
| 3 |
+
|
| 4 |
+
# WordPress Coding Standards
|
| 5 |
+
# http://make.wordpress.org/core/handbook/coding-standards/
|
| 6 |
+
|
| 7 |
+
root = true
|
| 8 |
+
|
| 9 |
+
[*]
|
| 10 |
+
charset = utf-8
|
| 11 |
+
end_of_line = lf
|
| 12 |
+
insert_final_newline = true
|
| 13 |
+
trim_trailing_whitespace = true
|
| 14 |
+
indent_style = tab
|
| 15 |
+
|
| 16 |
+
[*.yml]
|
| 17 |
+
indent_style = space
|
| 18 |
+
indent_size = 2
|
| 19 |
+
|
| 20 |
+
[*.md]
|
| 21 |
+
trim_trailing_whitespace = false
|
composer.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "studiopress/genesis-simple-sidebars",
|
| 3 |
+
"type": "wordpress-plugin",
|
| 4 |
+
"description": "Genesis Simple Sidebars allows you to easily create and use new sidebar widget areas.",
|
| 5 |
+
"homepage": "https://github.com/studiopress/genesis-simple-sidebars",
|
| 6 |
+
"license": "GPL-2.0-or-later",
|
| 7 |
+
"require": {
|
| 8 |
+
"php": "^5.3 || ^7",
|
| 9 |
+
"composer/installers": "^1"
|
| 10 |
+
},
|
| 11 |
+
"require-dev": {
|
| 12 |
+
"php": "^5.6 || ^7",
|
| 13 |
+
"dealerdirect/phpcodesniffer-composer-installer": "*",
|
| 14 |
+
"squizlabs/php_codesniffer": "^3.3.1",
|
| 15 |
+
"phpcompatibility/phpcompatibility-wp": "*",
|
| 16 |
+
"wp-coding-standards/wpcs": "^1"
|
| 17 |
+
},
|
| 18 |
+
"config": {
|
| 19 |
+
"sort-order": true
|
| 20 |
+
},
|
| 21 |
+
"minimum-stability": "dev",
|
| 22 |
+
"prefer-stable": true,
|
| 23 |
+
"scripts": {
|
| 24 |
+
"phpcs": "phpcs --standard=WordPress --ignore=vendor/,node_modules/,assets/ --extensions=php -p ./",
|
| 25 |
+
"phpcs-compat": "phpcs --extensions=php --standard=PHPCompatibilityWP --ignore=vendor/,node_modules/,assets/ --runtime-set testVersion 5.6- -p ./",
|
| 26 |
+
"phpcbf": "phpcbf --standard=WordPress --ignore=vendor/,node_modules/,assets/ --extensions=php -p ./"
|
| 27 |
+
},
|
| 28 |
+
"support": {
|
| 29 |
+
"issues": "https://github.com/studiopress/genesis-simple-sidebars/issues",
|
| 30 |
+
"source": "https://github.com/studiopress/genesis-simple-sidebars"
|
| 31 |
+
}
|
| 32 |
+
}
|
composer.lock
ADDED
|
@@ -0,0 +1,461 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_readme": [
|
| 3 |
+
"This file locks the dependencies of your project to a known state",
|
| 4 |
+
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
| 5 |
+
"This file is @generated automatically"
|
| 6 |
+
],
|
| 7 |
+
"content-hash": "a8300ed9bb532b9d84d4cb8a37879f11",
|
| 8 |
+
"packages": [
|
| 9 |
+
{
|
| 10 |
+
"name": "composer/installers",
|
| 11 |
+
"version": "v1.6.0",
|
| 12 |
+
"source": {
|
| 13 |
+
"type": "git",
|
| 14 |
+
"url": "https://github.com/composer/installers.git",
|
| 15 |
+
"reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b"
|
| 16 |
+
},
|
| 17 |
+
"dist": {
|
| 18 |
+
"type": "zip",
|
| 19 |
+
"url": "https://api.github.com/repos/composer/installers/zipball/cfcca6b1b60bc4974324efb5783c13dca6932b5b",
|
| 20 |
+
"reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b",
|
| 21 |
+
"shasum": ""
|
| 22 |
+
},
|
| 23 |
+
"require": {
|
| 24 |
+
"composer-plugin-api": "^1.0"
|
| 25 |
+
},
|
| 26 |
+
"replace": {
|
| 27 |
+
"roundcube/plugin-installer": "*",
|
| 28 |
+
"shama/baton": "*"
|
| 29 |
+
},
|
| 30 |
+
"require-dev": {
|
| 31 |
+
"composer/composer": "1.0.*@dev",
|
| 32 |
+
"phpunit/phpunit": "^4.8.36"
|
| 33 |
+
},
|
| 34 |
+
"type": "composer-plugin",
|
| 35 |
+
"extra": {
|
| 36 |
+
"class": "Composer\\Installers\\Plugin",
|
| 37 |
+
"branch-alias": {
|
| 38 |
+
"dev-master": "1.0-dev"
|
| 39 |
+
}
|
| 40 |
+
},
|
| 41 |
+
"autoload": {
|
| 42 |
+
"psr-4": {
|
| 43 |
+
"Composer\\Installers\\": "src/Composer/Installers"
|
| 44 |
+
}
|
| 45 |
+
},
|
| 46 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 47 |
+
"license": [
|
| 48 |
+
"MIT"
|
| 49 |
+
],
|
| 50 |
+
"authors": [
|
| 51 |
+
{
|
| 52 |
+
"name": "Kyle Robinson Young",
|
| 53 |
+
"email": "kyle@dontkry.com",
|
| 54 |
+
"homepage": "https://github.com/shama"
|
| 55 |
+
}
|
| 56 |
+
],
|
| 57 |
+
"description": "A multi-framework Composer library installer",
|
| 58 |
+
"homepage": "https://composer.github.io/installers/",
|
| 59 |
+
"keywords": [
|
| 60 |
+
"Craft",
|
| 61 |
+
"Dolibarr",
|
| 62 |
+
"Eliasis",
|
| 63 |
+
"Hurad",
|
| 64 |
+
"ImageCMS",
|
| 65 |
+
"Kanboard",
|
| 66 |
+
"Lan Management System",
|
| 67 |
+
"MODX Evo",
|
| 68 |
+
"Mautic",
|
| 69 |
+
"Maya",
|
| 70 |
+
"OXID",
|
| 71 |
+
"Plentymarkets",
|
| 72 |
+
"Porto",
|
| 73 |
+
"RadPHP",
|
| 74 |
+
"SMF",
|
| 75 |
+
"Thelia",
|
| 76 |
+
"WolfCMS",
|
| 77 |
+
"agl",
|
| 78 |
+
"aimeos",
|
| 79 |
+
"annotatecms",
|
| 80 |
+
"attogram",
|
| 81 |
+
"bitrix",
|
| 82 |
+
"cakephp",
|
| 83 |
+
"chef",
|
| 84 |
+
"cockpit",
|
| 85 |
+
"codeigniter",
|
| 86 |
+
"concrete5",
|
| 87 |
+
"croogo",
|
| 88 |
+
"dokuwiki",
|
| 89 |
+
"drupal",
|
| 90 |
+
"eZ Platform",
|
| 91 |
+
"elgg",
|
| 92 |
+
"expressionengine",
|
| 93 |
+
"fuelphp",
|
| 94 |
+
"grav",
|
| 95 |
+
"installer",
|
| 96 |
+
"itop",
|
| 97 |
+
"joomla",
|
| 98 |
+
"kohana",
|
| 99 |
+
"laravel",
|
| 100 |
+
"lavalite",
|
| 101 |
+
"lithium",
|
| 102 |
+
"magento",
|
| 103 |
+
"majima",
|
| 104 |
+
"mako",
|
| 105 |
+
"mediawiki",
|
| 106 |
+
"modulework",
|
| 107 |
+
"modx",
|
| 108 |
+
"moodle",
|
| 109 |
+
"osclass",
|
| 110 |
+
"phpbb",
|
| 111 |
+
"piwik",
|
| 112 |
+
"ppi",
|
| 113 |
+
"puppet",
|
| 114 |
+
"pxcms",
|
| 115 |
+
"reindex",
|
| 116 |
+
"roundcube",
|
| 117 |
+
"shopware",
|
| 118 |
+
"silverstripe",
|
| 119 |
+
"sydes",
|
| 120 |
+
"symfony",
|
| 121 |
+
"typo3",
|
| 122 |
+
"wordpress",
|
| 123 |
+
"yawik",
|
| 124 |
+
"zend",
|
| 125 |
+
"zikula"
|
| 126 |
+
],
|
| 127 |
+
"time": "2018-08-27T06:10:37+00:00"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"packages-dev": [
|
| 131 |
+
{
|
| 132 |
+
"name": "dealerdirect/phpcodesniffer-composer-installer",
|
| 133 |
+
"version": "v0.5.0",
|
| 134 |
+
"source": {
|
| 135 |
+
"type": "git",
|
| 136 |
+
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
|
| 137 |
+
"reference": "e749410375ff6fb7a040a68878c656c2e610b132"
|
| 138 |
+
},
|
| 139 |
+
"dist": {
|
| 140 |
+
"type": "zip",
|
| 141 |
+
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/e749410375ff6fb7a040a68878c656c2e610b132",
|
| 142 |
+
"reference": "e749410375ff6fb7a040a68878c656c2e610b132",
|
| 143 |
+
"shasum": ""
|
| 144 |
+
},
|
| 145 |
+
"require": {
|
| 146 |
+
"composer-plugin-api": "^1.0",
|
| 147 |
+
"php": "^5.3|^7",
|
| 148 |
+
"squizlabs/php_codesniffer": "^2|^3"
|
| 149 |
+
},
|
| 150 |
+
"require-dev": {
|
| 151 |
+
"composer/composer": "*",
|
| 152 |
+
"phpcompatibility/php-compatibility": "^9.0",
|
| 153 |
+
"sensiolabs/security-checker": "^4.1.0"
|
| 154 |
+
},
|
| 155 |
+
"type": "composer-plugin",
|
| 156 |
+
"extra": {
|
| 157 |
+
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
|
| 158 |
+
},
|
| 159 |
+
"autoload": {
|
| 160 |
+
"psr-4": {
|
| 161 |
+
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 165 |
+
"license": [
|
| 166 |
+
"MIT"
|
| 167 |
+
],
|
| 168 |
+
"authors": [
|
| 169 |
+
{
|
| 170 |
+
"name": "Franck Nijhof",
|
| 171 |
+
"email": "franck.nijhof@dealerdirect.com",
|
| 172 |
+
"homepage": "http://www.frenck.nl",
|
| 173 |
+
"role": "Developer / IT Manager"
|
| 174 |
+
}
|
| 175 |
+
],
|
| 176 |
+
"description": "PHP_CodeSniffer Standards Composer Installer Plugin",
|
| 177 |
+
"homepage": "http://www.dealerdirect.com",
|
| 178 |
+
"keywords": [
|
| 179 |
+
"PHPCodeSniffer",
|
| 180 |
+
"PHP_CodeSniffer",
|
| 181 |
+
"code quality",
|
| 182 |
+
"codesniffer",
|
| 183 |
+
"composer",
|
| 184 |
+
"installer",
|
| 185 |
+
"phpcs",
|
| 186 |
+
"plugin",
|
| 187 |
+
"qa",
|
| 188 |
+
"quality",
|
| 189 |
+
"standard",
|
| 190 |
+
"standards",
|
| 191 |
+
"style guide",
|
| 192 |
+
"stylecheck",
|
| 193 |
+
"tests"
|
| 194 |
+
],
|
| 195 |
+
"time": "2018-10-26T13:21:45+00:00"
|
| 196 |
+
},
|
| 197 |
+
{
|
| 198 |
+
"name": "phpcompatibility/php-compatibility",
|
| 199 |
+
"version": "9.1.1",
|
| 200 |
+
"source": {
|
| 201 |
+
"type": "git",
|
| 202 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
|
| 203 |
+
"reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c"
|
| 204 |
+
},
|
| 205 |
+
"dist": {
|
| 206 |
+
"type": "zip",
|
| 207 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
|
| 208 |
+
"reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
|
| 209 |
+
"shasum": ""
|
| 210 |
+
},
|
| 211 |
+
"require": {
|
| 212 |
+
"php": ">=5.3",
|
| 213 |
+
"squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
|
| 214 |
+
},
|
| 215 |
+
"conflict": {
|
| 216 |
+
"squizlabs/php_codesniffer": "2.6.2"
|
| 217 |
+
},
|
| 218 |
+
"require-dev": {
|
| 219 |
+
"phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
|
| 220 |
+
},
|
| 221 |
+
"suggest": {
|
| 222 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
|
| 223 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
| 224 |
+
},
|
| 225 |
+
"type": "phpcodesniffer-standard",
|
| 226 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 227 |
+
"license": [
|
| 228 |
+
"LGPL-3.0-or-later"
|
| 229 |
+
],
|
| 230 |
+
"authors": [
|
| 231 |
+
{
|
| 232 |
+
"name": "Contributors",
|
| 233 |
+
"homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
|
| 234 |
+
},
|
| 235 |
+
{
|
| 236 |
+
"name": "Wim Godden",
|
| 237 |
+
"homepage": "https://github.com/wimg",
|
| 238 |
+
"role": "lead"
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"name": "Juliette Reinders Folmer",
|
| 242 |
+
"homepage": "https://github.com/jrfnl",
|
| 243 |
+
"role": "lead"
|
| 244 |
+
}
|
| 245 |
+
],
|
| 246 |
+
"description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
|
| 247 |
+
"homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
|
| 248 |
+
"keywords": [
|
| 249 |
+
"compatibility",
|
| 250 |
+
"phpcs",
|
| 251 |
+
"standards"
|
| 252 |
+
],
|
| 253 |
+
"time": "2018-12-30T23:16:27+00:00"
|
| 254 |
+
},
|
| 255 |
+
{
|
| 256 |
+
"name": "phpcompatibility/phpcompatibility-paragonie",
|
| 257 |
+
"version": "1.0.1",
|
| 258 |
+
"source": {
|
| 259 |
+
"type": "git",
|
| 260 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git",
|
| 261 |
+
"reference": "9160de79fcd683b5c99e9c4133728d91529753ea"
|
| 262 |
+
},
|
| 263 |
+
"dist": {
|
| 264 |
+
"type": "zip",
|
| 265 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/9160de79fcd683b5c99e9c4133728d91529753ea",
|
| 266 |
+
"reference": "9160de79fcd683b5c99e9c4133728d91529753ea",
|
| 267 |
+
"shasum": ""
|
| 268 |
+
},
|
| 269 |
+
"require": {
|
| 270 |
+
"phpcompatibility/php-compatibility": "^9.0"
|
| 271 |
+
},
|
| 272 |
+
"require-dev": {
|
| 273 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.4"
|
| 274 |
+
},
|
| 275 |
+
"suggest": {
|
| 276 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.4 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
|
| 277 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
| 278 |
+
},
|
| 279 |
+
"type": "phpcodesniffer-standard",
|
| 280 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 281 |
+
"license": [
|
| 282 |
+
"LGPL-3.0-or-later"
|
| 283 |
+
],
|
| 284 |
+
"authors": [
|
| 285 |
+
{
|
| 286 |
+
"name": "Wim Godden",
|
| 287 |
+
"role": "lead"
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"name": "Juliette Reinders Folmer",
|
| 291 |
+
"role": "lead"
|
| 292 |
+
}
|
| 293 |
+
],
|
| 294 |
+
"description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.",
|
| 295 |
+
"homepage": "http://phpcompatibility.com/",
|
| 296 |
+
"keywords": [
|
| 297 |
+
"compatibility",
|
| 298 |
+
"paragonie",
|
| 299 |
+
"phpcs",
|
| 300 |
+
"polyfill",
|
| 301 |
+
"standards"
|
| 302 |
+
],
|
| 303 |
+
"time": "2018-12-16T19:10:44+00:00"
|
| 304 |
+
},
|
| 305 |
+
{
|
| 306 |
+
"name": "phpcompatibility/phpcompatibility-wp",
|
| 307 |
+
"version": "2.0.0",
|
| 308 |
+
"source": {
|
| 309 |
+
"type": "git",
|
| 310 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
|
| 311 |
+
"reference": "cb303f0067cd5b366a41d4fb0e254fb40ff02efd"
|
| 312 |
+
},
|
| 313 |
+
"dist": {
|
| 314 |
+
"type": "zip",
|
| 315 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/cb303f0067cd5b366a41d4fb0e254fb40ff02efd",
|
| 316 |
+
"reference": "cb303f0067cd5b366a41d4fb0e254fb40ff02efd",
|
| 317 |
+
"shasum": ""
|
| 318 |
+
},
|
| 319 |
+
"require": {
|
| 320 |
+
"phpcompatibility/php-compatibility": "^9.0",
|
| 321 |
+
"phpcompatibility/phpcompatibility-paragonie": "^1.0"
|
| 322 |
+
},
|
| 323 |
+
"require-dev": {
|
| 324 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
|
| 325 |
+
},
|
| 326 |
+
"suggest": {
|
| 327 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
|
| 328 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
| 329 |
+
},
|
| 330 |
+
"type": "phpcodesniffer-standard",
|
| 331 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 332 |
+
"license": [
|
| 333 |
+
"LGPL-3.0-or-later"
|
| 334 |
+
],
|
| 335 |
+
"authors": [
|
| 336 |
+
{
|
| 337 |
+
"name": "Wim Godden",
|
| 338 |
+
"role": "lead"
|
| 339 |
+
},
|
| 340 |
+
{
|
| 341 |
+
"name": "Juliette Reinders Folmer",
|
| 342 |
+
"role": "lead"
|
| 343 |
+
}
|
| 344 |
+
],
|
| 345 |
+
"description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.",
|
| 346 |
+
"homepage": "http://phpcompatibility.com/",
|
| 347 |
+
"keywords": [
|
| 348 |
+
"compatibility",
|
| 349 |
+
"phpcs",
|
| 350 |
+
"standards",
|
| 351 |
+
"wordpress"
|
| 352 |
+
],
|
| 353 |
+
"time": "2018-10-07T18:31:37+00:00"
|
| 354 |
+
},
|
| 355 |
+
{
|
| 356 |
+
"name": "squizlabs/php_codesniffer",
|
| 357 |
+
"version": "3.4.2",
|
| 358 |
+
"source": {
|
| 359 |
+
"type": "git",
|
| 360 |
+
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
| 361 |
+
"reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8"
|
| 362 |
+
},
|
| 363 |
+
"dist": {
|
| 364 |
+
"type": "zip",
|
| 365 |
+
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8",
|
| 366 |
+
"reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8",
|
| 367 |
+
"shasum": ""
|
| 368 |
+
},
|
| 369 |
+
"require": {
|
| 370 |
+
"ext-simplexml": "*",
|
| 371 |
+
"ext-tokenizer": "*",
|
| 372 |
+
"ext-xmlwriter": "*",
|
| 373 |
+
"php": ">=5.4.0"
|
| 374 |
+
},
|
| 375 |
+
"require-dev": {
|
| 376 |
+
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
|
| 377 |
+
},
|
| 378 |
+
"bin": [
|
| 379 |
+
"bin/phpcs",
|
| 380 |
+
"bin/phpcbf"
|
| 381 |
+
],
|
| 382 |
+
"type": "library",
|
| 383 |
+
"extra": {
|
| 384 |
+
"branch-alias": {
|
| 385 |
+
"dev-master": "3.x-dev"
|
| 386 |
+
}
|
| 387 |
+
},
|
| 388 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 389 |
+
"license": [
|
| 390 |
+
"BSD-3-Clause"
|
| 391 |
+
],
|
| 392 |
+
"authors": [
|
| 393 |
+
{
|
| 394 |
+
"name": "Greg Sherwood",
|
| 395 |
+
"role": "lead"
|
| 396 |
+
}
|
| 397 |
+
],
|
| 398 |
+
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
| 399 |
+
"homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
|
| 400 |
+
"keywords": [
|
| 401 |
+
"phpcs",
|
| 402 |
+
"standards"
|
| 403 |
+
],
|
| 404 |
+
"time": "2019-04-10T23:49:02+00:00"
|
| 405 |
+
},
|
| 406 |
+
{
|
| 407 |
+
"name": "wp-coding-standards/wpcs",
|
| 408 |
+
"version": "1.2.1",
|
| 409 |
+
"source": {
|
| 410 |
+
"type": "git",
|
| 411 |
+
"url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
|
| 412 |
+
"reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c"
|
| 413 |
+
},
|
| 414 |
+
"dist": {
|
| 415 |
+
"type": "zip",
|
| 416 |
+
"url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
|
| 417 |
+
"reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
|
| 418 |
+
"shasum": ""
|
| 419 |
+
},
|
| 420 |
+
"require": {
|
| 421 |
+
"php": ">=5.3",
|
| 422 |
+
"squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
|
| 423 |
+
},
|
| 424 |
+
"require-dev": {
|
| 425 |
+
"phpcompatibility/php-compatibility": "^9.0"
|
| 426 |
+
},
|
| 427 |
+
"suggest": {
|
| 428 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
|
| 429 |
+
},
|
| 430 |
+
"type": "phpcodesniffer-standard",
|
| 431 |
+
"notification-url": "https://packagist.org/downloads/",
|
| 432 |
+
"license": [
|
| 433 |
+
"MIT"
|
| 434 |
+
],
|
| 435 |
+
"authors": [
|
| 436 |
+
{
|
| 437 |
+
"name": "Contributors",
|
| 438 |
+
"homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
|
| 439 |
+
}
|
| 440 |
+
],
|
| 441 |
+
"description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
|
| 442 |
+
"keywords": [
|
| 443 |
+
"phpcs",
|
| 444 |
+
"standards",
|
| 445 |
+
"wordpress"
|
| 446 |
+
],
|
| 447 |
+
"time": "2018-12-18T09:43:51+00:00"
|
| 448 |
+
}
|
| 449 |
+
],
|
| 450 |
+
"aliases": [],
|
| 451 |
+
"minimum-stability": "dev",
|
| 452 |
+
"stability-flags": [],
|
| 453 |
+
"prefer-stable": true,
|
| 454 |
+
"prefer-lowest": false,
|
| 455 |
+
"platform": {
|
| 456 |
+
"php": "^5.3 || ^7"
|
| 457 |
+
},
|
| 458 |
+
"platform-dev": {
|
| 459 |
+
"php": "^5.6 || ^7"
|
| 460 |
+
}
|
| 461 |
+
}
|
genesis-simple-sidebars.php
CHANGED
|
@@ -1,190 +1,43 @@
|
|
| 1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
* Plugin version
|
| 7 |
-
*/
|
| 8 |
-
public $plugin_version = '2.1.0';
|
| 9 |
-
|
| 10 |
-
/**
|
| 11 |
-
* Minimum WordPress version.
|
| 12 |
-
*/
|
| 13 |
-
public $min_wp_version = '4.7.2';
|
| 14 |
-
|
| 15 |
-
/**
|
| 16 |
-
* Minimum Genesis version.
|
| 17 |
-
*/
|
| 18 |
-
public $min_genesis_version = '2.4.2';
|
| 19 |
-
|
| 20 |
-
/**
|
| 21 |
-
* The plugin textdomain, for translations.
|
| 22 |
-
*/
|
| 23 |
-
public $plugin_textdomain = 'genesis-simple-sidebars';
|
| 24 |
-
|
| 25 |
-
/**
|
| 26 |
-
* The url to the plugin directory.
|
| 27 |
-
*/
|
| 28 |
-
public $plugin_dir_url;
|
| 29 |
-
|
| 30 |
-
/**
|
| 31 |
-
* The path to the plugin directory.
|
| 32 |
-
*/
|
| 33 |
-
public $plugin_dir_path;
|
| 34 |
-
|
| 35 |
-
/**
|
| 36 |
-
* The main settings field for this plugin.
|
| 37 |
-
*/
|
| 38 |
-
public $settings_field = 'ss-settings';
|
| 39 |
-
|
| 40 |
-
/**
|
| 41 |
-
* Core functions of sidebar registration and output.
|
| 42 |
-
*/
|
| 43 |
-
public $core;
|
| 44 |
-
|
| 45 |
-
/**
|
| 46 |
-
* Admin menu and settings page.
|
| 47 |
-
*/
|
| 48 |
-
public $admin;
|
| 49 |
-
|
| 50 |
-
/**
|
| 51 |
-
* Entry settings and metadata.
|
| 52 |
-
*/
|
| 53 |
-
public $entry;
|
| 54 |
-
|
| 55 |
-
/**
|
| 56 |
-
* Constructor.
|
| 57 |
-
*
|
| 58 |
-
* @since 2.1.0
|
| 59 |
-
*/
|
| 60 |
-
public function __construct() {
|
| 61 |
-
|
| 62 |
-
$this->plugin_dir_url = plugin_dir_url( __FILE__ );
|
| 63 |
-
$this->plugin_dir_path = plugin_dir_path( __FILE__ );
|
| 64 |
-
|
| 65 |
-
// For backward compatibility
|
| 66 |
-
define( 'SS_PLUGIN_DIR', $this->plugin_dir_path );
|
| 67 |
-
|
| 68 |
-
}
|
| 69 |
-
|
| 70 |
-
/**
|
| 71 |
-
* Initialize.
|
| 72 |
-
*
|
| 73 |
-
* @since 2.1.0
|
| 74 |
-
*/
|
| 75 |
-
public function init() {
|
| 76 |
-
|
| 77 |
-
$this->load_plugin_textdomain();
|
| 78 |
-
|
| 79 |
-
add_action( 'admin_notices', array( $this, 'requirements_notice' ) );
|
| 80 |
-
|
| 81 |
-
$this->includes();
|
| 82 |
-
$this->instantiate();
|
| 83 |
-
|
| 84 |
-
}
|
| 85 |
-
|
| 86 |
-
/**
|
| 87 |
-
* Show admin notice if minimum requirements aren't met.
|
| 88 |
-
*
|
| 89 |
-
* @since 2.1.0
|
| 90 |
-
*/
|
| 91 |
-
public function requirements_notice() {
|
| 92 |
-
|
| 93 |
-
if ( ! defined( 'PARENT_THEME_VERSION' ) || ! version_compare( PARENT_THEME_VERSION, $this->min_genesis_version, '>=' ) ) {
|
| 94 |
-
|
| 95 |
-
$action = defined( 'PARENT_THEME_VERSION' ) ? __( 'upgrade to', 'genesis-simple-sidebars' ) : __( 'install and activate', 'genesis-simple-sidebars' );
|
| 96 |
-
|
| 97 |
-
$message = sprintf( __( 'Genesis Simple Sidebars requires WordPress %s and Genesis %s, or greater. Please %s the latest version of <a href="%s" target="_blank">Genesis</a> to use this plugin.', 'genesis-simple-sidebars' ), $this->min_wp_version, $this->min_genesis_version, $action, 'http://my.studiopress.com/?download_id=91046d629e74d525b3f2978e404e7ffa' );
|
| 98 |
-
echo '<div class="notice notice-warning"><p>' . $message . '</p></div>';
|
| 99 |
-
|
| 100 |
-
}
|
| 101 |
-
|
| 102 |
-
}
|
| 103 |
-
|
| 104 |
-
/**
|
| 105 |
-
* Load the plugin textdomain, for translation.
|
| 106 |
-
*
|
| 107 |
-
* @since 2.1.0
|
| 108 |
-
*/
|
| 109 |
-
public function load_plugin_textdomain() {
|
| 110 |
-
load_plugin_textdomain( $this->plugin_textdomain, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
| 111 |
-
}
|
| 112 |
-
|
| 113 |
-
/**
|
| 114 |
-
* All general includes.
|
| 115 |
-
*
|
| 116 |
-
* @since 2.1.0
|
| 117 |
-
*/
|
| 118 |
-
public function includes() {
|
| 119 |
-
|
| 120 |
-
require_once( $this->plugin_dir_path . 'includes/functions.php' );
|
| 121 |
-
require_once( $this->plugin_dir_path . 'includes/deprecated.php' );
|
| 122 |
-
|
| 123 |
-
}
|
| 124 |
-
|
| 125 |
-
/**
|
| 126 |
-
* Include the class file, instantiate the classes, create objects.
|
| 127 |
-
*
|
| 128 |
-
* @since 2.1.0
|
| 129 |
-
*/
|
| 130 |
-
public function instantiate() {
|
| 131 |
-
|
| 132 |
-
add_action( 'genesis_setup', array( $this, 'genesis_dependencies' ) );
|
| 133 |
-
|
| 134 |
-
}
|
| 135 |
-
|
| 136 |
-
/**
|
| 137 |
-
* Load and instantiate any Genesis dependencies.
|
| 138 |
-
*
|
| 139 |
-
* @since 2.1.0
|
| 140 |
-
*/
|
| 141 |
-
public function genesis_dependencies() {
|
| 142 |
-
|
| 143 |
-
require_once( $this->plugin_dir_path . 'includes/class-genesis-simple-sidebars-core.php' );
|
| 144 |
-
$this->core = new Genesis_Simple_Sidebars_Core;
|
| 145 |
-
$this->core->init();
|
| 146 |
-
|
| 147 |
-
// Anything beyond this point should only be loaded if in the admin.
|
| 148 |
-
if ( ! is_admin() ) {
|
| 149 |
-
return;
|
| 150 |
-
}
|
| 151 |
-
|
| 152 |
-
require_once( $this->plugin_dir_path . 'includes/class-genesis-simple-sidebars-entry.php' );
|
| 153 |
-
$this->entry = new Genesis_Simple_Sidebars_Entry;
|
| 154 |
-
$this->entry->init();
|
| 155 |
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
|
|
|
| 163 |
|
| 164 |
-
|
| 165 |
-
global $_genesis_simple_sidebars;
|
| 166 |
-
$_genesis_simple_sidebars = $this->admin;
|
| 167 |
|
| 168 |
-
}
|
| 169 |
|
| 170 |
-
}
|
| 171 |
|
| 172 |
/**
|
| 173 |
* Helper function to retrieve the static object without using globals.
|
| 174 |
*
|
| 175 |
* @since 2.1.0
|
| 176 |
*/
|
| 177 |
-
function
|
| 178 |
|
| 179 |
static $object;
|
| 180 |
|
| 181 |
-
if ( null
|
| 182 |
-
$object = new Genesis_Simple_Sidebars;
|
| 183 |
}
|
| 184 |
|
| 185 |
return $object;
|
| 186 |
}
|
| 187 |
/**
|
| 188 |
-
* Initialize the object on
|
| 189 |
*/
|
| 190 |
add_action( 'plugins_loaded', array( Genesis_Simple_Sidebars(), 'init' ) );
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Genesis Simple Sidebars constants.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
|
| 8 |
+
/**
|
| 9 |
+
* Load the plugin file.
|
| 10 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
| 13 |
+
exit;
|
| 14 |
+
}
|
| 15 |
|
| 16 |
+
define( 'GENESIS_SIMPLE_SIDEBARS_SETTINGS_FIELD', 'genesis_simple_sidebars_settings' );
|
| 17 |
+
define( 'GENESIS_SIMPLE_SIDEBARS_VERSION', '2.2.0' );
|
| 18 |
+
define( 'GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
| 19 |
+
define( 'GENESIS_SIMPLE_SIDEBARS_PLUGIN_URL', plugins_url( '', __FILE__ ) );
|
| 20 |
|
| 21 |
+
require_once plugin_dir_path( __FILE__ ) . 'includes/class-genesis-simple-sidebars.php';
|
|
|
|
|
|
|
| 22 |
|
|
|
|
| 23 |
|
|
|
|
| 24 |
|
| 25 |
/**
|
| 26 |
* Helper function to retrieve the static object without using globals.
|
| 27 |
*
|
| 28 |
* @since 2.1.0
|
| 29 |
*/
|
| 30 |
+
function genesis_simple_sidebars() {
|
| 31 |
|
| 32 |
static $object;
|
| 33 |
|
| 34 |
+
if ( null === $object ) {
|
| 35 |
+
$object = new Genesis_Simple_Sidebars();
|
| 36 |
}
|
| 37 |
|
| 38 |
return $object;
|
| 39 |
}
|
| 40 |
/**
|
| 41 |
+
* Initialize the object on `plugins_loaded`.
|
| 42 |
*/
|
| 43 |
add_action( 'plugins_loaded', array( Genesis_Simple_Sidebars(), 'init' ) );
|
includes/class-genesis-simple-sidebars-admin.php
CHANGED
|
@@ -3,6 +3,7 @@
|
|
| 3 |
* Controls the creation, deletion, and editing of Simple Sidebar.
|
| 4 |
*
|
| 5 |
* @author StudioPress
|
|
|
|
| 6 |
*/
|
| 7 |
|
| 8 |
/**
|
|
@@ -16,6 +17,8 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 16 |
/**
|
| 17 |
* Settings field.
|
| 18 |
*
|
|
|
|
|
|
|
| 19 |
* @since 2.1.0
|
| 20 |
*/
|
| 21 |
public $settings_field;
|
|
@@ -27,7 +30,7 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 27 |
|
| 28 |
$this->settings_field = Genesis_Simple_Sidebars()->settings_field;
|
| 29 |
|
| 30 |
-
// For backward compatibility
|
| 31 |
define( 'SS_SETTINGS_FIELD', $this->settings_field );
|
| 32 |
|
| 33 |
}
|
|
@@ -49,16 +52,16 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 49 |
'submenu' => array(
|
| 50 |
'parent_slug' => 'genesis',
|
| 51 |
'page_title' => __( 'Genesis - Simple Sidebars', 'genesis-simple-sidebars' ),
|
| 52 |
-
'menu_title' => __( 'Simple Sidebars', 'genesis-simple-sidebars' )
|
| 53 |
-
)
|
| 54 |
);
|
| 55 |
|
| 56 |
-
// Empty, as we'll be building the page manually
|
| 57 |
$page_ops = array();
|
| 58 |
|
| 59 |
$this->create( $page_id, $menu_ops, $page_ops, $this->settings_field );
|
| 60 |
|
| 61 |
-
// Simpe Sidebar actions (create, edit, or delete)
|
| 62 |
add_action( 'admin_init', array( $this, 'actions' ) );
|
| 63 |
|
| 64 |
}
|
|
@@ -69,18 +72,17 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 69 |
* Echoes out HTML.
|
| 70 |
*
|
| 71 |
* @since 1.0.0
|
| 72 |
-
*
|
| 73 |
*/
|
| 74 |
public function admin() {
|
| 75 |
|
| 76 |
echo '<div class="wrap">';
|
| 77 |
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
|
| 85 |
echo '</div>';
|
| 86 |
|
|
@@ -92,7 +94,6 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 92 |
* Displays table rows of sidebars for viewing and editing on the main admin page.
|
| 93 |
*
|
| 94 |
* @since 1.0.0
|
| 95 |
-
*
|
| 96 |
*/
|
| 97 |
public function table_rows() {
|
| 98 |
|
|
@@ -106,32 +107,40 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 106 |
|
| 107 |
$is_editable = isset( $info['editable'] ) && $info['editable'] ? true : false;
|
| 108 |
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
<tr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
<td class="name column-name">
|
| 113 |
<?php
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
?>
|
| 120 |
|
| 121 |
<?php if ( $is_editable ) : ?>
|
| 122 |
<br />
|
| 123 |
<div class="row-actions">
|
| 124 |
-
<span class="edit"><a href="<?php echo admin_url('admin.php?page=simple-sidebars&action=edit&id=' . esc_html( $id ) ); ?>"><?php
|
| 125 |
-
<span class="delete"><a class="delete-tag" href="<?php echo wp_nonce_url( admin_url( 'admin.php?page=simple-sidebars&action=delete&id=' . esc_html( $id ) ), 'simple-sidebars-action_delete-sidebar' ); ?>"><?php
|
| 126 |
</div>
|
| 127 |
<?php endif; ?>
|
| 128 |
|
| 129 |
</td>
|
| 130 |
<td class="slug column-slug"><?php echo esc_html( $id ); ?></td>
|
| 131 |
-
<td class="description column-description"><?php echo esc_html( $info['description'] )?></td>
|
| 132 |
</tr>
|
| 133 |
|
| 134 |
-
|
| 135 |
endforeach;
|
| 136 |
|
| 137 |
}
|
|
@@ -142,7 +151,6 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 142 |
* Depending on what action was intended by the user, this method calls the appropriate action method.
|
| 143 |
*
|
| 144 |
* @since 1.0.0
|
| 145 |
-
*
|
| 146 |
*/
|
| 147 |
public function actions() {
|
| 148 |
|
|
@@ -153,24 +161,26 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 153 |
/**
|
| 154 |
* This section handles the data if a new sidebar is created
|
| 155 |
*/
|
| 156 |
-
|
| 157 |
-
|
|
|
|
| 158 |
}
|
| 159 |
|
| 160 |
/**
|
| 161 |
* This section will handle the data if a sidebar is deleted
|
| 162 |
*/
|
| 163 |
-
|
| 164 |
-
|
|
|
|
| 165 |
}
|
| 166 |
|
| 167 |
/**
|
| 168 |
* This section will handle the data if a sidebar is to be modified
|
| 169 |
*/
|
| 170 |
-
if ( isset( $_REQUEST['action'] ) && 'edit'
|
| 171 |
-
$this->edit_sidebar( $_POST['edit_sidebar'] );
|
| 172 |
}
|
| 173 |
-
|
| 174 |
}
|
| 175 |
|
| 176 |
/**
|
|
@@ -188,39 +198,38 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 188 |
|
| 189 |
$pattern = '<div id="message" class="updated"><p><strong>%s</strong></p></div>';
|
| 190 |
|
|
|
|
| 191 |
if ( isset( $_REQUEST['created'] ) && 'true' === $_REQUEST['created'] ) {
|
| 192 |
-
printf( $pattern,
|
| 193 |
return;
|
| 194 |
}
|
| 195 |
|
| 196 |
if ( isset( $_REQUEST['edited'] ) && 'true' === $_REQUEST['edited'] ) {
|
| 197 |
-
printf( $pattern,
|
| 198 |
return;
|
| 199 |
}
|
| 200 |
|
| 201 |
if ( isset( $_REQUEST['deleted'] ) && 'true' === $_REQUEST['deleted'] ) {
|
| 202 |
-
printf( $pattern,
|
| 203 |
return;
|
| 204 |
}
|
| 205 |
|
| 206 |
-
return;
|
| 207 |
-
|
| 208 |
}
|
| 209 |
|
| 210 |
/**
|
| 211 |
* Create a sidebar.
|
| 212 |
*
|
| 213 |
-
* @
|
| 214 |
*
|
|
|
|
| 215 |
*/
|
| 216 |
protected function create_sidebar( $args = array() ) {
|
| 217 |
-
|
| 218 |
if ( empty( $args['name'] ) ) {
|
| 219 |
-
wp_die( $this->error( 1 ) );
|
| 220 |
exit;
|
| 221 |
}
|
| 222 |
|
| 223 |
-
// nonce verification
|
| 224 |
check_admin_referer( 'simple-sidebars-action_create-sidebar' );
|
| 225 |
|
| 226 |
$db = (array) get_option( $this->settings_field );
|
|
@@ -231,7 +240,7 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 231 |
}
|
| 232 |
|
| 233 |
// Strip all but alphanumeric, sanitize with dashes.
|
| 234 |
-
$id = preg_replace(
|
| 235 |
|
| 236 |
// Preface numeric IDs with 'sidebar-'.
|
| 237 |
$id = is_numeric( $id ) ? 'gss-sidebar-' . $id : $id;
|
|
@@ -240,26 +249,27 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 240 |
if ( ! $id || is_registered_sidebar( $id ) ) {
|
| 241 |
$n = count( $db ) + 1;
|
| 242 |
do {
|
| 243 |
-
$
|
|
|
|
| 244 |
} while ( is_registered_sidebar( $id ) );
|
| 245 |
}
|
| 246 |
|
| 247 |
$new = array(
|
| 248 |
$id => array(
|
| 249 |
'name' => esc_html( $args['name'] ),
|
| 250 |
-
'description' => esc_html( $args['description'] )
|
| 251 |
),
|
| 252 |
);
|
| 253 |
|
| 254 |
if ( array_key_exists( $id, $db ) ) {
|
| 255 |
-
wp_die( $this->error( 2 ) );
|
| 256 |
exit;
|
| 257 |
}
|
| 258 |
|
| 259 |
$_sidebars = wp_parse_args( $new, $db );
|
| 260 |
|
| 261 |
update_option( $this->settings_field, $_sidebars );
|
| 262 |
-
|
| 263 |
exit;
|
| 264 |
|
| 265 |
}
|
|
@@ -267,36 +277,36 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 267 |
/**
|
| 268 |
* Edit a sidebar.
|
| 269 |
*
|
|
|
|
| 270 |
* @since 1.0.0
|
| 271 |
-
*
|
| 272 |
*/
|
| 273 |
protected function edit_sidebar( $args = array() ) {
|
| 274 |
|
| 275 |
if ( empty( $args['name'] ) || empty( $args['id'] ) ) {
|
| 276 |
-
wp_die( $this->error( 3 ) );
|
| 277 |
exit;
|
| 278 |
}
|
| 279 |
|
| 280 |
-
// nonce verification
|
| 281 |
check_admin_referer( 'simple-sidebars-action_edit-sidebar' );
|
| 282 |
|
| 283 |
-
$db
|
| 284 |
$new = array(
|
| 285 |
$args['id'] => array(
|
| 286 |
'name' => esc_html( $args['name'] ),
|
| 287 |
-
'description' => esc_html( $args['description'] )
|
| 288 |
-
)
|
| 289 |
);
|
| 290 |
|
| 291 |
if ( ! array_key_exists( $args['id'], $db ) ) {
|
| 292 |
-
wp_die( $this->error( 3 ) );
|
| 293 |
exit;
|
| 294 |
}
|
| 295 |
|
| 296 |
$_sidebars = wp_parse_args( $new, $db );
|
| 297 |
|
| 298 |
update_option( $this->settings_field, $_sidebars );
|
| 299 |
-
|
| 300 |
exit;
|
| 301 |
|
| 302 |
}
|
|
@@ -304,30 +314,29 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 304 |
/**
|
| 305 |
* Delete a sidebar.
|
| 306 |
*
|
|
|
|
| 307 |
* @since 1.0.0
|
| 308 |
-
*
|
| 309 |
*/
|
| 310 |
protected function delete_sidebar( $id = '' ) {
|
| 311 |
-
|
| 312 |
if ( empty( $id ) ) {
|
| 313 |
-
wp_die( $this->error( 4 ) );
|
| 314 |
exit;
|
| 315 |
}
|
| 316 |
|
| 317 |
-
// nonce verification
|
| 318 |
check_admin_referer( 'simple-sidebars-action_delete-sidebar' );
|
| 319 |
|
| 320 |
$_sidebars = (array) get_option( $this->settings_field );
|
| 321 |
|
| 322 |
-
if ( ! isset( $_sidebars[$id] ) ) {
|
| 323 |
-
wp_die( $this->error( 4 ) );
|
| 324 |
exit;
|
| 325 |
}
|
| 326 |
|
| 327 |
-
unset( $_sidebars[$id] );
|
| 328 |
|
| 329 |
update_option( $this->settings_field, $_sidebars );
|
| 330 |
-
|
| 331 |
exit;
|
| 332 |
|
| 333 |
}
|
|
@@ -335,29 +344,28 @@ class Genesis_Simple_Sidebars_Admin extends Genesis_Admin_Basic {
|
|
| 335 |
/**
|
| 336 |
* Returns an error message by ID.
|
| 337 |
*
|
|
|
|
|
|
|
| 338 |
* @since 1.0.0
|
| 339 |
*
|
| 340 |
* @return string Returns an error string based on an error ID.
|
| 341 |
*/
|
| 342 |
protected function error( $error = false ) {
|
| 343 |
|
| 344 |
-
if ( ! $error )
|
| 345 |
return false;
|
|
|
|
| 346 |
|
| 347 |
-
switch( (int) $error ) {
|
| 348 |
|
| 349 |
case 1:
|
| 350 |
return __( 'Oops! Please choose a valid Name for this sidebar', 'genesis-simple-sidebars' );
|
| 351 |
-
break;
|
| 352 |
case 2:
|
| 353 |
return __( 'Oops! That sidebar ID already exists', 'genesis-simple-sidebars' );
|
| 354 |
-
break;
|
| 355 |
case 3:
|
| 356 |
return __( 'Oops! You are trying to edit a sidebar that does not exist, or is not editable', 'genesis-simple-sidebars' );
|
| 357 |
-
break;
|
| 358 |
case 4:
|
| 359 |
return __( 'Oops! You are trying to delete a sidebar that does not exist, or cannot be deleted', 'genesis-simple-sidebars' );
|
| 360 |
-
break;
|
| 361 |
default:
|
| 362 |
return __( 'Oops! Something went wrong. Try again.', 'genesis-simple-sidebars' );
|
| 363 |
|
| 3 |
* Controls the creation, deletion, and editing of Simple Sidebar.
|
| 4 |
*
|
| 5 |
* @author StudioPress
|
| 6 |
+
* @package genesis-simple-sidebars
|
| 7 |
*/
|
| 8 |
|
| 9 |
/**
|
| 17 |
/**
|
| 18 |
* Settings field.
|
| 19 |
*
|
| 20 |
+
* @var string
|
| 21 |
+
*
|
| 22 |
* @since 2.1.0
|
| 23 |
*/
|
| 24 |
public $settings_field;
|
| 30 |
|
| 31 |
$this->settings_field = Genesis_Simple_Sidebars()->settings_field;
|
| 32 |
|
| 33 |
+
// For backward compatibility.
|
| 34 |
define( 'SS_SETTINGS_FIELD', $this->settings_field );
|
| 35 |
|
| 36 |
}
|
| 52 |
'submenu' => array(
|
| 53 |
'parent_slug' => 'genesis',
|
| 54 |
'page_title' => __( 'Genesis - Simple Sidebars', 'genesis-simple-sidebars' ),
|
| 55 |
+
'menu_title' => __( 'Simple Sidebars', 'genesis-simple-sidebars' ),
|
| 56 |
+
),
|
| 57 |
);
|
| 58 |
|
| 59 |
+
// Empty, as we'll be building the page manually.
|
| 60 |
$page_ops = array();
|
| 61 |
|
| 62 |
$this->create( $page_id, $menu_ops, $page_ops, $this->settings_field );
|
| 63 |
|
| 64 |
+
// Simpe Sidebar actions (create, edit, or delete).
|
| 65 |
add_action( 'admin_init', array( $this, 'actions' ) );
|
| 66 |
|
| 67 |
}
|
| 72 |
* Echoes out HTML.
|
| 73 |
*
|
| 74 |
* @since 1.0.0
|
|
|
|
| 75 |
*/
|
| 76 |
public function admin() {
|
| 77 |
|
| 78 |
echo '<div class="wrap">';
|
| 79 |
|
| 80 |
+
// phpcs:ignore WordPress.Security.NonceVerification.NoNonceVerification
|
| 81 |
+
if ( isset( $_REQUEST['action'] ) && 'edit' === $_REQUEST['action'] ) {
|
| 82 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/views/admin-edit.php';
|
| 83 |
+
} else {
|
| 84 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/views/admin-main.php';
|
| 85 |
+
}
|
| 86 |
|
| 87 |
echo '</div>';
|
| 88 |
|
| 94 |
* Displays table rows of sidebars for viewing and editing on the main admin page.
|
| 95 |
*
|
| 96 |
* @since 1.0.0
|
|
|
|
| 97 |
*/
|
| 98 |
public function table_rows() {
|
| 99 |
|
| 107 |
|
| 108 |
$is_editable = isset( $info['editable'] ) && $info['editable'] ? true : false;
|
| 109 |
|
| 110 |
+
?>
|
| 111 |
+
|
| 112 |
+
<tr
|
| 113 |
+
<?php
|
| 114 |
+
if ( $alt ) {
|
| 115 |
+
echo 'class="alternate"';
|
| 116 |
+
$alt = false;
|
| 117 |
+
} else {
|
| 118 |
+
$alt = true; }
|
| 119 |
+
?>
|
| 120 |
+
>
|
| 121 |
<td class="name column-name">
|
| 122 |
<?php
|
| 123 |
+
if ( $is_editable ) {
|
| 124 |
+
printf( '<a class="row-title" href="%s" title="Edit %s">%s</a>', esc_url( admin_url( 'admin.php?page=simple-sidebars&action=edit&id=' . esc_html( $id ) ) ), esc_html( $info['name'] ), esc_html( $info['name'] ) );
|
| 125 |
+
} else {
|
| 126 |
+
printf( '<strong class="row-title">%s</strong>', esc_html( $info['name'] ) );
|
| 127 |
+
}
|
| 128 |
?>
|
| 129 |
|
| 130 |
<?php if ( $is_editable ) : ?>
|
| 131 |
<br />
|
| 132 |
<div class="row-actions">
|
| 133 |
+
<span class="edit"><a href="<?php echo esc_attr( admin_url( 'admin.php?page=simple-sidebars&action=edit&id=' . esc_html( $id ) ) ); ?>"><?php esc_html_e( 'Edit', 'genesis-simple-sidebars' ); ?></a> | </span>
|
| 134 |
+
<span class="delete"><a class="delete-tag" href="<?php echo esc_attr( wp_nonce_url( admin_url( 'admin.php?page=simple-sidebars&action=delete&id=' . esc_html( $id ) ), 'simple-sidebars-action_delete-sidebar' ) ); ?>"><?php esc_html_e( 'Delete', 'genesis-simple-sidebars' ); ?></a></span>
|
| 135 |
</div>
|
| 136 |
<?php endif; ?>
|
| 137 |
|
| 138 |
</td>
|
| 139 |
<td class="slug column-slug"><?php echo esc_html( $id ); ?></td>
|
| 140 |
+
<td class="description column-description"><?php echo esc_html( $info['description'] ); ?></td>
|
| 141 |
</tr>
|
| 142 |
|
| 143 |
+
<?php
|
| 144 |
endforeach;
|
| 145 |
|
| 146 |
}
|
| 151 |
* Depending on what action was intended by the user, this method calls the appropriate action method.
|
| 152 |
*
|
| 153 |
* @since 1.0.0
|
|
|
|
| 154 |
*/
|
| 155 |
public function actions() {
|
| 156 |
|
| 161 |
/**
|
| 162 |
* This section handles the data if a new sidebar is created
|
| 163 |
*/
|
| 164 |
+
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification
|
| 165 |
+
if ( isset( $_REQUEST['action'] ) && 'create' === $_REQUEST['action'] && isset( $_POST['new_sidebar'] ) ) {
|
| 166 |
+
$this->create_sidebar( array_map( 'sanitize_text_field', wp_unslash( $_POST['new_sidebar'] ) ) );
|
| 167 |
}
|
| 168 |
|
| 169 |
/**
|
| 170 |
* This section will handle the data if a sidebar is deleted
|
| 171 |
*/
|
| 172 |
+
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification
|
| 173 |
+
if ( isset( $_REQUEST['action'] ) && 'delete' === $_REQUEST['action'] && isset( $_REQUEST['id'] ) ) {
|
| 174 |
+
$this->delete_sidebar( sanitize_text_field( wp_unslash( $_REQUEST['id'] ) ) );
|
| 175 |
}
|
| 176 |
|
| 177 |
/**
|
| 178 |
* This section will handle the data if a sidebar is to be modified
|
| 179 |
*/
|
| 180 |
+
if ( isset( $_REQUEST['action'] ) && 'edit' === $_REQUEST['action'] && ! isset( $_REQUEST['id'] ) && isset( $_POST['edit_sidebar'] ) ) {
|
| 181 |
+
$this->edit_sidebar( array_map( 'sanitize_text_field', wp_unslash( $_POST['edit_sidebar'] ) ) );
|
| 182 |
}
|
| 183 |
+
// phpcs:enable
|
| 184 |
}
|
| 185 |
|
| 186 |
/**
|
| 198 |
|
| 199 |
$pattern = '<div id="message" class="updated"><p><strong>%s</strong></p></div>';
|
| 200 |
|
| 201 |
+
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification
|
| 202 |
if ( isset( $_REQUEST['created'] ) && 'true' === $_REQUEST['created'] ) {
|
| 203 |
+
printf( wp_kses_post( $pattern ), esc_html__( 'New sidebar successfully created!', 'genesis-simple-sidebars' ) );
|
| 204 |
return;
|
| 205 |
}
|
| 206 |
|
| 207 |
if ( isset( $_REQUEST['edited'] ) && 'true' === $_REQUEST['edited'] ) {
|
| 208 |
+
printf( wp_kses_post( $pattern ), esc_html__( 'Sidebar successfully edited!', 'genesis-simple-sidebars' ) );
|
| 209 |
return;
|
| 210 |
}
|
| 211 |
|
| 212 |
if ( isset( $_REQUEST['deleted'] ) && 'true' === $_REQUEST['deleted'] ) {
|
| 213 |
+
printf( wp_kses_post( $pattern ), esc_html__( 'Sidebar successfully deleted.', 'genesis-simple-sidebars' ) );
|
| 214 |
return;
|
| 215 |
}
|
| 216 |
|
|
|
|
|
|
|
| 217 |
}
|
| 218 |
|
| 219 |
/**
|
| 220 |
* Create a sidebar.
|
| 221 |
*
|
| 222 |
+
* @param array $args Arguments.
|
| 223 |
*
|
| 224 |
+
* @since 1.0.0
|
| 225 |
*/
|
| 226 |
protected function create_sidebar( $args = array() ) {
|
|
|
|
| 227 |
if ( empty( $args['name'] ) ) {
|
| 228 |
+
wp_die( esc_html( $this->error( 1 ) ) );
|
| 229 |
exit;
|
| 230 |
}
|
| 231 |
|
| 232 |
+
// nonce verification.
|
| 233 |
check_admin_referer( 'simple-sidebars-action_create-sidebar' );
|
| 234 |
|
| 235 |
$db = (array) get_option( $this->settings_field );
|
| 240 |
}
|
| 241 |
|
| 242 |
// Strip all but alphanumeric, sanitize with dashes.
|
| 243 |
+
$id = preg_replace( '/[^a-zA-Z0-9 -]+/', '', sanitize_title_with_dashes( $args['id'] ) );
|
| 244 |
|
| 245 |
// Preface numeric IDs with 'sidebar-'.
|
| 246 |
$id = is_numeric( $id ) ? 'gss-sidebar-' . $id : $id;
|
| 249 |
if ( ! $id || is_registered_sidebar( $id ) ) {
|
| 250 |
$n = count( $db ) + 1;
|
| 251 |
do {
|
| 252 |
+
$n = $n++;
|
| 253 |
+
$id = 'gss-sidebar-' . $n;
|
| 254 |
} while ( is_registered_sidebar( $id ) );
|
| 255 |
}
|
| 256 |
|
| 257 |
$new = array(
|
| 258 |
$id => array(
|
| 259 |
'name' => esc_html( $args['name'] ),
|
| 260 |
+
'description' => esc_html( $args['description'] ),
|
| 261 |
),
|
| 262 |
);
|
| 263 |
|
| 264 |
if ( array_key_exists( $id, $db ) ) {
|
| 265 |
+
wp_die( esc_html( $this->error( 2 ) ) );
|
| 266 |
exit;
|
| 267 |
}
|
| 268 |
|
| 269 |
$_sidebars = wp_parse_args( $new, $db );
|
| 270 |
|
| 271 |
update_option( $this->settings_field, $_sidebars );
|
| 272 |
+
wp_safe_redirect( admin_url( 'admin.php?page=simple-sidebars&created=true' ) );
|
| 273 |
exit;
|
| 274 |
|
| 275 |
}
|
| 277 |
/**
|
| 278 |
* Edit a sidebar.
|
| 279 |
*
|
| 280 |
+
* @param array $args Arguments.
|
| 281 |
* @since 1.0.0
|
|
|
|
| 282 |
*/
|
| 283 |
protected function edit_sidebar( $args = array() ) {
|
| 284 |
|
| 285 |
if ( empty( $args['name'] ) || empty( $args['id'] ) ) {
|
| 286 |
+
wp_die( esc_html( $this->error( 3 ) ) );
|
| 287 |
exit;
|
| 288 |
}
|
| 289 |
|
| 290 |
+
// nonce verification.
|
| 291 |
check_admin_referer( 'simple-sidebars-action_edit-sidebar' );
|
| 292 |
|
| 293 |
+
$db = (array) get_option( $this->settings_field );
|
| 294 |
$new = array(
|
| 295 |
$args['id'] => array(
|
| 296 |
'name' => esc_html( $args['name'] ),
|
| 297 |
+
'description' => esc_html( $args['description'] ),
|
| 298 |
+
),
|
| 299 |
);
|
| 300 |
|
| 301 |
if ( ! array_key_exists( $args['id'], $db ) ) {
|
| 302 |
+
wp_die( esc_html( $this->error( 3 ) ) );
|
| 303 |
exit;
|
| 304 |
}
|
| 305 |
|
| 306 |
$_sidebars = wp_parse_args( $new, $db );
|
| 307 |
|
| 308 |
update_option( $this->settings_field, $_sidebars );
|
| 309 |
+
wp_safe_redirect( admin_url( 'admin.php?page=simple-sidebars&edited=true' ) );
|
| 310 |
exit;
|
| 311 |
|
| 312 |
}
|
| 314 |
/**
|
| 315 |
* Delete a sidebar.
|
| 316 |
*
|
| 317 |
+
* @param string $id Id.
|
| 318 |
* @since 1.0.0
|
|
|
|
| 319 |
*/
|
| 320 |
protected function delete_sidebar( $id = '' ) {
|
|
|
|
| 321 |
if ( empty( $id ) ) {
|
| 322 |
+
wp_die( esc_html( $this->error( 4 ) ) );
|
| 323 |
exit;
|
| 324 |
}
|
| 325 |
|
| 326 |
+
// nonce verification.
|
| 327 |
check_admin_referer( 'simple-sidebars-action_delete-sidebar' );
|
| 328 |
|
| 329 |
$_sidebars = (array) get_option( $this->settings_field );
|
| 330 |
|
| 331 |
+
if ( ! isset( $_sidebars[ $id ] ) ) {
|
| 332 |
+
wp_die( esc_html( $this->error( 4 ) ) );
|
| 333 |
exit;
|
| 334 |
}
|
| 335 |
|
| 336 |
+
unset( $_sidebars[ $id ] );
|
| 337 |
|
| 338 |
update_option( $this->settings_field, $_sidebars );
|
| 339 |
+
wp_safe_redirect( admin_url( 'admin.php?page=simple-sidebars&deleted=true' ) );
|
| 340 |
exit;
|
| 341 |
|
| 342 |
}
|
| 344 |
/**
|
| 345 |
* Returns an error message by ID.
|
| 346 |
*
|
| 347 |
+
* @param bool $error Error id.
|
| 348 |
+
*
|
| 349 |
* @since 1.0.0
|
| 350 |
*
|
| 351 |
* @return string Returns an error string based on an error ID.
|
| 352 |
*/
|
| 353 |
protected function error( $error = false ) {
|
| 354 |
|
| 355 |
+
if ( ! $error ) {
|
| 356 |
return false;
|
| 357 |
+
}
|
| 358 |
|
| 359 |
+
switch ( (int) $error ) {
|
| 360 |
|
| 361 |
case 1:
|
| 362 |
return __( 'Oops! Please choose a valid Name for this sidebar', 'genesis-simple-sidebars' );
|
|
|
|
| 363 |
case 2:
|
| 364 |
return __( 'Oops! That sidebar ID already exists', 'genesis-simple-sidebars' );
|
|
|
|
| 365 |
case 3:
|
| 366 |
return __( 'Oops! You are trying to edit a sidebar that does not exist, or is not editable', 'genesis-simple-sidebars' );
|
|
|
|
| 367 |
case 4:
|
| 368 |
return __( 'Oops! You are trying to delete a sidebar that does not exist, or cannot be deleted', 'genesis-simple-sidebars' );
|
|
|
|
| 369 |
default:
|
| 370 |
return __( 'Oops! Something went wrong. Try again.', 'genesis-simple-sidebars' );
|
| 371 |
|
includes/class-genesis-simple-sidebars-core.php
CHANGED
|
@@ -1,4 +1,9 @@
|
|
| 1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
/**
|
| 4 |
* Controls the core functions of registration and output of Sidebars
|
|
@@ -9,11 +14,15 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 9 |
|
| 10 |
/**
|
| 11 |
* The created sidebars.
|
|
|
|
|
|
|
| 12 |
*/
|
| 13 |
private $sidebars;
|
| 14 |
|
| 15 |
/**
|
| 16 |
* Public taxonomies.
|
|
|
|
|
|
|
| 17 |
*/
|
| 18 |
private $public_taxonomies;
|
| 19 |
|
|
@@ -28,6 +37,11 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 28 |
|
| 29 |
}
|
| 30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
public function backward_compatibility() {
|
| 32 |
|
| 33 |
remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );
|
|
@@ -50,19 +64,21 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 50 |
return;
|
| 51 |
}
|
| 52 |
|
| 53 |
-
// Cycle through created sidebars, register them as widget areas
|
| 54 |
foreach ( (array) $sidebars as $id => $info ) {
|
| 55 |
|
| 56 |
if ( ! isset( $info['name'] ) || ! isset( $info['description'] ) ) {
|
| 57 |
continue;
|
| 58 |
}
|
| 59 |
|
| 60 |
-
genesis_register_sidebar(
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
|
|
|
|
|
|
| 66 |
|
| 67 |
}
|
| 68 |
|
|
@@ -71,6 +87,8 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 71 |
/**
|
| 72 |
* Filter the widgets in each widget area.
|
| 73 |
*
|
|
|
|
|
|
|
| 74 |
* @since 2.1.0
|
| 75 |
*/
|
| 76 |
public function sidebars_widgets_filter( $widgets ) {
|
|
@@ -106,6 +124,9 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 106 |
/**
|
| 107 |
* Take the $widgets array and swap the contents of each widget area with a custom widget area, if specified.
|
| 108 |
*
|
|
|
|
|
|
|
|
|
|
| 109 |
* @since 2.1.0
|
| 110 |
*/
|
| 111 |
public function swap_widgets( $widgets, $sidebars ) {
|
|
@@ -123,7 +144,6 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 123 |
if ( $new_sidebar && ! empty( $widgets[ $new_sidebar ] ) ) {
|
| 124 |
$widgets[ $old_sidebar ] = $widgets[ $new_sidebar ];
|
| 125 |
}
|
| 126 |
-
|
| 127 |
}
|
| 128 |
|
| 129 |
return $widgets;
|
|
@@ -133,6 +153,8 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 133 |
/**
|
| 134 |
* Get all custom registered sidebars.
|
| 135 |
*
|
|
|
|
|
|
|
| 136 |
* @since 2.1.0
|
| 137 |
*/
|
| 138 |
public function get_sidebars( $cache = true ) {
|
|
@@ -159,10 +181,12 @@ class Genesis_Simple_Sidebars_Core {
|
|
| 159 |
public function get_public_taxonomies() {
|
| 160 |
|
| 161 |
if ( is_null( $this->public_taxonomies ) ) {
|
| 162 |
-
$this->public_taxonomies = get_taxonomies(
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
|
|
|
|
|
|
| 166 |
}
|
| 167 |
|
| 168 |
$this->public_taxonomies = apply_filters( 'genesis_simple_sidebars_taxonomies', array_keys( $this->public_taxonomies ) );
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Genesis Simple Sidebars Core.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
|
| 8 |
/**
|
| 9 |
* Controls the core functions of registration and output of Sidebars
|
| 14 |
|
| 15 |
/**
|
| 16 |
* The created sidebars.
|
| 17 |
+
*
|
| 18 |
+
* @var string
|
| 19 |
*/
|
| 20 |
private $sidebars;
|
| 21 |
|
| 22 |
/**
|
| 23 |
* Public taxonomies.
|
| 24 |
+
*
|
| 25 |
+
* @var array
|
| 26 |
*/
|
| 27 |
private $public_taxonomies;
|
| 28 |
|
| 37 |
|
| 38 |
}
|
| 39 |
|
| 40 |
+
/**
|
| 41 |
+
* For backward compatibility, we need to use old functions to hook in sidebar output.
|
| 42 |
+
*
|
| 43 |
+
* @since 2.1.0
|
| 44 |
+
*/
|
| 45 |
public function backward_compatibility() {
|
| 46 |
|
| 47 |
remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );
|
| 64 |
return;
|
| 65 |
}
|
| 66 |
|
| 67 |
+
// Cycle through created sidebars, register them as widget areas.
|
| 68 |
foreach ( (array) $sidebars as $id => $info ) {
|
| 69 |
|
| 70 |
if ( ! isset( $info['name'] ) || ! isset( $info['description'] ) ) {
|
| 71 |
continue;
|
| 72 |
}
|
| 73 |
|
| 74 |
+
genesis_register_sidebar(
|
| 75 |
+
array(
|
| 76 |
+
'name' => esc_html( $info['name'] ),
|
| 77 |
+
'id' => $id,
|
| 78 |
+
'description' => esc_html( $info['description'] ),
|
| 79 |
+
'editable' => 1,
|
| 80 |
+
)
|
| 81 |
+
);
|
| 82 |
|
| 83 |
}
|
| 84 |
|
| 87 |
/**
|
| 88 |
* Filter the widgets in each widget area.
|
| 89 |
*
|
| 90 |
+
* @param array $widgets Widgets.
|
| 91 |
+
*
|
| 92 |
* @since 2.1.0
|
| 93 |
*/
|
| 94 |
public function sidebars_widgets_filter( $widgets ) {
|
| 124 |
/**
|
| 125 |
* Take the $widgets array and swap the contents of each widget area with a custom widget area, if specified.
|
| 126 |
*
|
| 127 |
+
* @param array $widgets Widgets.
|
| 128 |
+
* @param array $sidebars Sidebars.
|
| 129 |
+
*
|
| 130 |
* @since 2.1.0
|
| 131 |
*/
|
| 132 |
public function swap_widgets( $widgets, $sidebars ) {
|
| 144 |
if ( $new_sidebar && ! empty( $widgets[ $new_sidebar ] ) ) {
|
| 145 |
$widgets[ $old_sidebar ] = $widgets[ $new_sidebar ];
|
| 146 |
}
|
|
|
|
| 147 |
}
|
| 148 |
|
| 149 |
return $widgets;
|
| 153 |
/**
|
| 154 |
* Get all custom registered sidebars.
|
| 155 |
*
|
| 156 |
+
* @param bool $cache Indicates if should get from cache.
|
| 157 |
+
*
|
| 158 |
* @since 2.1.0
|
| 159 |
*/
|
| 160 |
public function get_sidebars( $cache = true ) {
|
| 181 |
public function get_public_taxonomies() {
|
| 182 |
|
| 183 |
if ( is_null( $this->public_taxonomies ) ) {
|
| 184 |
+
$this->public_taxonomies = get_taxonomies(
|
| 185 |
+
array(
|
| 186 |
+
'show_ui' => true,
|
| 187 |
+
'public' => true,
|
| 188 |
+
)
|
| 189 |
+
);
|
| 190 |
}
|
| 191 |
|
| 192 |
$this->public_taxonomies = apply_filters( 'genesis_simple_sidebars_taxonomies', array_keys( $this->public_taxonomies ) );
|
includes/class-genesis-simple-sidebars-entry.php
CHANGED
|
@@ -1,7 +1,18 @@
|
|
| 1 |
<?php
|
| 2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
class Genesis_Simple_Sidebars_Entry {
|
| 4 |
|
|
|
|
|
|
|
|
|
|
| 5 |
public function init() {
|
| 6 |
|
| 7 |
add_action( 'admin_menu', array( $this, 'add_metaboxes' ) );
|
|
@@ -18,10 +29,9 @@ class Genesis_Simple_Sidebars_Entry {
|
|
| 18 |
|
| 19 |
foreach ( (array) get_post_types( array( 'public' => true ) ) as $type ) {
|
| 20 |
|
| 21 |
-
if ( post_type_supports( $type, 'genesis-simple-sidebars' ) ||
|
| 22 |
add_meta_box( 'ss_inpost_metabox', __( 'Sidebar Selection', 'genesis-simple-sidebars' ), array( $this, 'metabox_content' ), $type, 'side', 'low' );
|
| 23 |
}
|
| 24 |
-
|
| 25 |
}
|
| 26 |
|
| 27 |
}
|
|
@@ -33,26 +43,34 @@ class Genesis_Simple_Sidebars_Entry {
|
|
| 33 |
*/
|
| 34 |
public function metabox_content() {
|
| 35 |
|
| 36 |
-
require_once
|
| 37 |
|
| 38 |
}
|
| 39 |
|
| 40 |
/**
|
| 41 |
* Save the metabox fields when the entry is saved.
|
| 42 |
*
|
|
|
|
|
|
|
| 43 |
* @since 2.1.0
|
| 44 |
*/
|
| 45 |
public function metabox_save( $post_id, $post ) {
|
| 46 |
|
| 47 |
-
|
|
|
|
|
|
|
|
|
|
| 48 |
return;
|
| 49 |
}
|
| 50 |
|
| 51 |
-
$data = wp_parse_args(
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
genesis_save_custom_fields( $data, 'genesis-simple-sidebars-save-entry', 'genesis-simple-sidebars-save-entry-nonce', $post );
|
| 58 |
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Genesis Simple Sidebars Entry file.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
+
/**
|
| 9 |
+
* Genesis Simple Sidebars Entry class.
|
| 10 |
+
*/
|
| 11 |
class Genesis_Simple_Sidebars_Entry {
|
| 12 |
|
| 13 |
+
/**
|
| 14 |
+
* Init function.
|
| 15 |
+
*/
|
| 16 |
public function init() {
|
| 17 |
|
| 18 |
add_action( 'admin_menu', array( $this, 'add_metaboxes' ) );
|
| 29 |
|
| 30 |
foreach ( (array) get_post_types( array( 'public' => true ) ) as $type ) {
|
| 31 |
|
| 32 |
+
if ( post_type_supports( $type, 'genesis-simple-sidebars' ) || 'post' === $type || 'page' === $type ) {
|
| 33 |
add_meta_box( 'ss_inpost_metabox', __( 'Sidebar Selection', 'genesis-simple-sidebars' ), array( $this, 'metabox_content' ), $type, 'side', 'low' );
|
| 34 |
}
|
|
|
|
| 35 |
}
|
| 36 |
|
| 37 |
}
|
| 43 |
*/
|
| 44 |
public function metabox_content() {
|
| 45 |
|
| 46 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/views/entry-metabox-content.php';
|
| 47 |
|
| 48 |
}
|
| 49 |
|
| 50 |
/**
|
| 51 |
* Save the metabox fields when the entry is saved.
|
| 52 |
*
|
| 53 |
+
* @param string $post_id Post Id.
|
| 54 |
+
* @param array $post Post.
|
| 55 |
* @since 2.1.0
|
| 56 |
*/
|
| 57 |
public function metabox_save( $post_id, $post ) {
|
| 58 |
|
| 59 |
+
// phpcs:ignore WordPress.Security.NonceVerification.NoNonceVerification
|
| 60 |
+
$genesis_simple_sidebars = isset( $_POST['genesis_simple_sidebars'] ) ? array_map( 'sanitize_text_field', wp_unslash( $_POST['genesis_simple_sidebars'] ) ) : '';
|
| 61 |
+
|
| 62 |
+
if ( empty( $genesis_simple_sidebars ) ) {
|
| 63 |
return;
|
| 64 |
}
|
| 65 |
|
| 66 |
+
$data = wp_parse_args(
|
| 67 |
+
$genesis_simple_sidebars,
|
| 68 |
+
array(
|
| 69 |
+
'_ss_header' => '',
|
| 70 |
+
'_ss_sidebar' => '',
|
| 71 |
+
'_ss_sidebar_alt' => '',
|
| 72 |
+
)
|
| 73 |
+
);
|
| 74 |
|
| 75 |
genesis_save_custom_fields( $data, 'genesis-simple-sidebars-save-entry', 'genesis-simple-sidebars-save-entry-nonce', $post );
|
| 76 |
|
includes/class-genesis-simple-sidebars-term.php
CHANGED
|
@@ -1,13 +1,27 @@
|
|
| 1 |
<?php
|
| 2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
class Genesis_Simple_Sidebars_Term {
|
| 4 |
|
|
|
|
|
|
|
|
|
|
| 5 |
public function init() {
|
| 6 |
|
| 7 |
-
add_action( 'init', array( $this, 'add_term_fields' ) );
|
| 8 |
|
| 9 |
}
|
| 10 |
|
|
|
|
|
|
|
|
|
|
| 11 |
public function add_term_fields() {
|
| 12 |
|
| 13 |
$taxonomies = Genesis_Simple_Sidebars()->core->get_public_taxonomies();
|
|
@@ -17,14 +31,19 @@ class Genesis_Simple_Sidebars_Term {
|
|
| 17 |
foreach ( $taxonomies as $tax ) {
|
| 18 |
add_action( "{$tax}_edit_form", array( $this, 'term_sidebar_form' ), 9, 2 );
|
| 19 |
}
|
| 20 |
-
|
| 21 |
}
|
| 22 |
|
| 23 |
}
|
| 24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
public function term_sidebar_form( $tag, $taxonomy ) {
|
| 26 |
|
| 27 |
-
require_once
|
| 28 |
|
| 29 |
}
|
| 30 |
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Genesis Simple Sidebars Term.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
+
/**
|
| 9 |
+
* Class Genesis Simple Sidebars Term.
|
| 10 |
+
*/
|
| 11 |
class Genesis_Simple_Sidebars_Term {
|
| 12 |
|
| 13 |
+
/**
|
| 14 |
+
* Init function.
|
| 15 |
+
*/
|
| 16 |
public function init() {
|
| 17 |
|
| 18 |
+
add_action( 'init', array( $this, 'add_term_fields' ), 12 );
|
| 19 |
|
| 20 |
}
|
| 21 |
|
| 22 |
+
/**
|
| 23 |
+
* Adds term fields.
|
| 24 |
+
*/
|
| 25 |
public function add_term_fields() {
|
| 26 |
|
| 27 |
$taxonomies = Genesis_Simple_Sidebars()->core->get_public_taxonomies();
|
| 31 |
foreach ( $taxonomies as $tax ) {
|
| 32 |
add_action( "{$tax}_edit_form", array( $this, 'term_sidebar_form' ), 9, 2 );
|
| 33 |
}
|
|
|
|
| 34 |
}
|
| 35 |
|
| 36 |
}
|
| 37 |
|
| 38 |
+
/**
|
| 39 |
+
* Import the sidebar form.
|
| 40 |
+
*
|
| 41 |
+
* @param string $tag Tag.
|
| 42 |
+
* @param string $taxonomy Taxonomy.
|
| 43 |
+
*/
|
| 44 |
public function term_sidebar_form( $tag, $taxonomy ) {
|
| 45 |
|
| 46 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/views/term-edit-sidebar-form.php';
|
| 47 |
|
| 48 |
}
|
| 49 |
|
includes/class-genesis-simple-sidebars.php
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Genesis Simple Sidebars main class.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
+
/**
|
| 9 |
+
* Genesis Simple Sidebars class.
|
| 10 |
+
*/
|
| 11 |
+
class Genesis_Simple_Sidebars {
|
| 12 |
+
|
| 13 |
+
/**
|
| 14 |
+
* Minimum WordPress version.
|
| 15 |
+
*
|
| 16 |
+
* @var string
|
| 17 |
+
*/
|
| 18 |
+
public $min_wp_version = '4.7.2';
|
| 19 |
+
|
| 20 |
+
/**
|
| 21 |
+
* Minimum Genesis version.
|
| 22 |
+
*
|
| 23 |
+
* @var string
|
| 24 |
+
*/
|
| 25 |
+
public $min_genesis_version = '2.4.2';
|
| 26 |
+
|
| 27 |
+
/**
|
| 28 |
+
* The plugin textdomain, for translations.
|
| 29 |
+
*
|
| 30 |
+
* @var string
|
| 31 |
+
*/
|
| 32 |
+
public $plugin_textdomain = 'genesis-simple-sidebars';
|
| 33 |
+
|
| 34 |
+
/**
|
| 35 |
+
* The main settings field for this plugin.
|
| 36 |
+
*
|
| 37 |
+
* @var string
|
| 38 |
+
*/
|
| 39 |
+
public $settings_field = 'ss-settings';
|
| 40 |
+
|
| 41 |
+
/**
|
| 42 |
+
* Core functions of sidebar registration and output.
|
| 43 |
+
*
|
| 44 |
+
* @var Genesis_Simple_Sidebars_Core
|
| 45 |
+
*/
|
| 46 |
+
public $core;
|
| 47 |
+
|
| 48 |
+
/**
|
| 49 |
+
* Admin menu and settings page.
|
| 50 |
+
*
|
| 51 |
+
* @var Genesis_Simple_Sidebars_Admin
|
| 52 |
+
*/
|
| 53 |
+
public $admin;
|
| 54 |
+
|
| 55 |
+
/**
|
| 56 |
+
* Entry settings and metadata.
|
| 57 |
+
*
|
| 58 |
+
* @var Genesis_Simple_Sidebars_Entry
|
| 59 |
+
*/
|
| 60 |
+
public $entry;
|
| 61 |
+
|
| 62 |
+
/**
|
| 63 |
+
* Constructor.
|
| 64 |
+
*
|
| 65 |
+
* @since 2.1.0
|
| 66 |
+
*/
|
| 67 |
+
public function __construct() {
|
| 68 |
+
|
| 69 |
+
// For backward compatibility.
|
| 70 |
+
define( 'SS_PLUGIN_DIR', GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR );
|
| 71 |
+
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
/**
|
| 75 |
+
* Initialize.
|
| 76 |
+
*
|
| 77 |
+
* @since 2.1.0
|
| 78 |
+
*/
|
| 79 |
+
public function init() {
|
| 80 |
+
|
| 81 |
+
$this->load_plugin_textdomain();
|
| 82 |
+
|
| 83 |
+
add_action( 'admin_notices', array( $this, 'requirements_notice' ) );
|
| 84 |
+
|
| 85 |
+
$this->includes();
|
| 86 |
+
$this->instantiate();
|
| 87 |
+
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
/**
|
| 91 |
+
* Show admin notice if minimum requirements aren't met.
|
| 92 |
+
*
|
| 93 |
+
* @since 2.1.0
|
| 94 |
+
*/
|
| 95 |
+
public function requirements_notice() {
|
| 96 |
+
|
| 97 |
+
if ( ! defined( 'PARENT_THEME_VERSION' ) || ! version_compare( PARENT_THEME_VERSION, $this->min_genesis_version, '>=' ) ) {
|
| 98 |
+
|
| 99 |
+
$action = defined( 'PARENT_THEME_VERSION' ) ? __( 'upgrade to', 'genesis-simple-sidebars' ) : __( 'install and activate', 'genesis-simple-sidebars' );
|
| 100 |
+
|
| 101 |
+
// translators: %1$s is WordPress minimum version, %2$s is Genesis minimum version, %3$s is action and %4$s is link.
|
| 102 |
+
$message = sprintf( __( 'Genesis Simple Sidebars requires WordPress %1$s and Genesis %2$s, or greater. Please %3$s the latest version of <a href="%4$s" target="_blank">Genesis</a> to use this plugin.', 'genesis-simple-sidebars' ), $this->min_wp_version, $this->min_genesis_version, $action, 'http://my.studiopress.com/?download_id=91046d629e74d525b3f2978e404e7ffa' );
|
| 103 |
+
echo '<div class="notice notice-warning"><p>' . esc_html( $message ) . '</p></div>';
|
| 104 |
+
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
/**
|
| 110 |
+
* Load the plugin textdomain, for translation.
|
| 111 |
+
*
|
| 112 |
+
* @since 2.1.0
|
| 113 |
+
*/
|
| 114 |
+
public function load_plugin_textdomain() {
|
| 115 |
+
load_plugin_textdomain( $this->plugin_textdomain, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
/**
|
| 119 |
+
* All general includes.
|
| 120 |
+
*
|
| 121 |
+
* @since 2.1.0
|
| 122 |
+
*/
|
| 123 |
+
public function includes() {
|
| 124 |
+
|
| 125 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/functions.php';
|
| 126 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/deprecated.php';
|
| 127 |
+
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
/**
|
| 131 |
+
* Include the class file, instantiate the classes, create objects.
|
| 132 |
+
*
|
| 133 |
+
* @since 2.1.0
|
| 134 |
+
*/
|
| 135 |
+
public function instantiate() {
|
| 136 |
+
|
| 137 |
+
add_action( 'genesis_setup', array( $this, 'genesis_dependencies' ) );
|
| 138 |
+
|
| 139 |
+
}
|
| 140 |
+
|
| 141 |
+
/**
|
| 142 |
+
* Load and instantiate any Genesis dependencies.
|
| 143 |
+
*
|
| 144 |
+
* @since 2.1.0
|
| 145 |
+
*/
|
| 146 |
+
public function genesis_dependencies() {
|
| 147 |
+
|
| 148 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/class-genesis-simple-sidebars-core.php';
|
| 149 |
+
$this->core = new Genesis_Simple_Sidebars_Core();
|
| 150 |
+
$this->core->init();
|
| 151 |
+
|
| 152 |
+
// Anything beyond this point should only be loaded if in the admin.
|
| 153 |
+
if ( ! is_admin() ) {
|
| 154 |
+
return;
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/class-genesis-simple-sidebars-entry.php';
|
| 158 |
+
$this->entry = new Genesis_Simple_Sidebars_Entry();
|
| 159 |
+
$this->entry->init();
|
| 160 |
+
|
| 161 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/class-genesis-simple-sidebars-term.php';
|
| 162 |
+
$this->term = new Genesis_Simple_Sidebars_Term();
|
| 163 |
+
$this->term->init();
|
| 164 |
+
|
| 165 |
+
require_once GENESIS_SIMPLE_SIDEBARS_PLUGIN_DIR . '/includes/class-genesis-simple-sidebars-admin.php';
|
| 166 |
+
$this->admin = new Genesis_Simple_Sidebars_Admin();
|
| 167 |
+
$this->admin->admin_menu();
|
| 168 |
+
|
| 169 |
+
// For backward compatibility.
|
| 170 |
+
global $_genesis_simple_sidebars;
|
| 171 |
+
$_genesis_simple_sidebars = $this->admin;
|
| 172 |
+
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
}
|
includes/deprecated.php
CHANGED
|
@@ -1,4 +1,9 @@
|
|
| 1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
/**
|
| 4 |
* Deprecated.
|
|
@@ -53,19 +58,21 @@ function ss_sidebars_init() {
|
|
| 53 |
/**
|
| 54 |
* Deprecated.
|
| 55 |
*
|
|
|
|
|
|
|
| 56 |
* @since 0.9.0
|
| 57 |
* @deprecated 2.1.0
|
| 58 |
*/
|
| 59 |
function ss_do_one_sidebar( $sidebar_key = '' ) {
|
| 60 |
|
| 61 |
-
_deprecated_function( __FUNCTION__, '2.1.0',
|
| 62 |
|
| 63 |
-
if ( '_ss_sidebar'
|
| 64 |
genesis_do_sidebar();
|
| 65 |
return true;
|
| 66 |
}
|
| 67 |
|
| 68 |
-
if ( '_ss_sidebar_alt'
|
| 69 |
genesis_do_sidebar_alt();
|
| 70 |
return true;
|
| 71 |
}
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Deprecated functions file.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
|
| 8 |
/**
|
| 9 |
* Deprecated.
|
| 58 |
/**
|
| 59 |
* Deprecated.
|
| 60 |
*
|
| 61 |
+
* @param string $sidebar_key Sidebar Key.
|
| 62 |
+
*
|
| 63 |
* @since 0.9.0
|
| 64 |
* @deprecated 2.1.0
|
| 65 |
*/
|
| 66 |
function ss_do_one_sidebar( $sidebar_key = '' ) {
|
| 67 |
|
| 68 |
+
_deprecated_function( __FUNCTION__, '2.1.0', esc_html__( 'dynamic_sidebar() with sidebars_widget filter', 'genesis-simple-sidebars' ) );
|
| 69 |
|
| 70 |
+
if ( '_ss_sidebar' === $sidebar_key ) {
|
| 71 |
genesis_do_sidebar();
|
| 72 |
return true;
|
| 73 |
}
|
| 74 |
|
| 75 |
+
if ( '_ss_sidebar_alt' === $sidebar_key ) {
|
| 76 |
genesis_do_sidebar_alt();
|
| 77 |
return true;
|
| 78 |
}
|
includes/functions.php
CHANGED
|
@@ -1,4 +1,9 @@
|
|
| 1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
/**
|
| 4 |
* Dummy function for backward compatibility. Outputs the primary sidebar.
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Functions file.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
|
| 8 |
/**
|
| 9 |
* Dummy function for backward compatibility. Outputs the primary sidebar.
|
includes/views/admin-edit.php
CHANGED
|
@@ -1,40 +1,49 @@
|
|
| 1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
$sidebars = Genesis_Simple_Sidebars()->core->get_sidebars();
|
| 3 |
|
| 4 |
-
|
| 5 |
-
|
|
|
|
| 6 |
} else {
|
| 7 |
-
wp_die(
|
| 8 |
}
|
|
|
|
| 9 |
?>
|
| 10 |
-
<h1><?php
|
| 11 |
|
| 12 |
-
<form method="post" action="<?php echo admin_url( 'admin.php?page=simple-sidebars&action=edit' ); ?>">
|
| 13 |
<?php wp_nonce_field( 'simple-sidebars-action_edit-sidebar' ); ?>
|
| 14 |
|
| 15 |
<table class="form-table">
|
| 16 |
|
| 17 |
<tr class="form-field">
|
| 18 |
-
<th scope="row" valign="top"><label for="edit_sidebar[name]"><?php
|
| 19 |
<td><input name="edit_sidebar[name]" id="edit_sidebar[name]" type="text" value="<?php echo esc_html( $sidebar['name'] ); ?>" size="40" />
|
| 20 |
-
<p class="description"><?php
|
| 21 |
</tr>
|
| 22 |
|
| 23 |
<tr class="form-field">
|
| 24 |
-
<th scope="row" valign="top"><label for="edit_sidebar[id]"><?php
|
| 25 |
<td>
|
| 26 |
-
|
| 27 |
-
<input
|
| 28 |
-
<
|
|
|
|
| 29 |
</tr>
|
| 30 |
|
| 31 |
<tr class="form-field">
|
| 32 |
-
<th scope="row" valign="top"><label for="edit_sidebar[description]"><?php
|
| 33 |
<td><textarea name="edit_sidebar[description]" id="edit_sidebar[description]" rows="3" cols="50" style="width: 97%;"><?php echo esc_html( $sidebar['description'] ); ?></textarea></td>
|
| 34 |
</tr>
|
| 35 |
|
| 36 |
</table>
|
| 37 |
|
| 38 |
-
<p class="submit"><input type="submit" class="button-primary" name="submit" value="<?php
|
| 39 |
|
| 40 |
</form>
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Admin edit.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
$sidebars = Genesis_Simple_Sidebars()->core->get_sidebars();
|
| 9 |
|
| 10 |
+
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification
|
| 11 |
+
if ( isset( $_REQUEST['id'] ) && array_key_exists( sanitize_text_field( wp_unslash( $_REQUEST['id'] ) ), (array) $sidebars ) ) {
|
| 12 |
+
$sidebar = stripslashes_deep( $sidebars[ sanitize_text_field( wp_unslash( $_REQUEST['id'] ) ) ] );
|
| 13 |
} else {
|
| 14 |
+
wp_die( esc_html__( 'Nice try, partner. But that sidebar doesn\'t exist. Click back and try again.', 'genesis-simple-sidebars' ) );
|
| 15 |
}
|
| 16 |
+
// phpcs:enable
|
| 17 |
?>
|
| 18 |
+
<h1><?php esc_html_e( 'Edit Sidebar', 'genesis-simple-sidebars' ); ?></h1>
|
| 19 |
|
| 20 |
+
<form method="post" action="<?php echo esc_url( admin_url( 'admin.php?page=simple-sidebars&action=edit' ) ); ?>">
|
| 21 |
<?php wp_nonce_field( 'simple-sidebars-action_edit-sidebar' ); ?>
|
| 22 |
|
| 23 |
<table class="form-table">
|
| 24 |
|
| 25 |
<tr class="form-field">
|
| 26 |
+
<th scope="row" valign="top"><label for="edit_sidebar[name]"><?php esc_html_e( 'Name', 'genesis-simple-sidebars' ); ?></label></th>
|
| 27 |
<td><input name="edit_sidebar[name]" id="edit_sidebar[name]" type="text" value="<?php echo esc_html( $sidebar['name'] ); ?>" size="40" />
|
| 28 |
+
<p class="description"><?php esc_html_e( 'A recognizable name for your new sidebar widget area', 'genesis-simple-sidebars' ); ?></p></td>
|
| 29 |
</tr>
|
| 30 |
|
| 31 |
<tr class="form-field">
|
| 32 |
+
<th scope="row" valign="top"><label for="edit_sidebar[id]"><?php esc_html_e( 'ID', 'genesis-simple-sidebars' ); ?></label></th>
|
| 33 |
<td>
|
| 34 |
+
<?php // phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification ?>
|
| 35 |
+
<input type="text" value="<?php echo esc_html( sanitize_text_field( wp_unslash( $_REQUEST['id'] ) ) ); ?>" size="40" readonly />
|
| 36 |
+
<input name="edit_sidebar[id]" id="edit_sidebar[id]" type="hidden" value="<?php echo esc_attr( sanitize_text_field( wp_unslash( $_REQUEST['id'] ) ) ); ?>" size="40" />
|
| 37 |
+
<p class="description"><?php esc_html_e( 'The unique ID is used to register the sidebar widget area (cannot be changed)', 'genesis-simple-sidebars' ); ?></p></td>
|
| 38 |
</tr>
|
| 39 |
|
| 40 |
<tr class="form-field">
|
| 41 |
+
<th scope="row" valign="top"><label for="edit_sidebar[description]"><?php esc_html_e( 'Description', 'genesis-simple-sidebars' ); ?></label></th>
|
| 42 |
<td><textarea name="edit_sidebar[description]" id="edit_sidebar[description]" rows="3" cols="50" style="width: 97%;"><?php echo esc_html( $sidebar['description'] ); ?></textarea></td>
|
| 43 |
</tr>
|
| 44 |
|
| 45 |
</table>
|
| 46 |
|
| 47 |
+
<p class="submit"><input type="submit" class="button-primary" name="submit" value="<?php esc_attr_e( 'Update', 'genesis-simple-sidebars' ); ?>" /></p>
|
| 48 |
|
| 49 |
</form>
|
includes/views/admin-main.php
CHANGED
|
@@ -1,25 +1,34 @@
|
|
| 1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
<div id="col-container">
|
| 4 |
|
| 5 |
<div id="col-right">
|
| 6 |
<div class="col-wrap">
|
| 7 |
|
| 8 |
-
<h3><?php
|
| 9 |
<table class="widefat tag fixed" cellspacing="0">
|
| 10 |
<thead>
|
| 11 |
<tr>
|
| 12 |
-
<th scope="col" id="name" class="manage-column column-name"><?php
|
| 13 |
-
<th scope="col" class="manage-column column-slug"><?php
|
| 14 |
-
<th scope="col" id="description" class="manage-column column-description"><?php
|
| 15 |
</tr>
|
| 16 |
</thead>
|
| 17 |
|
| 18 |
<tfoot>
|
| 19 |
<tr>
|
| 20 |
-
<th scope="col" class="manage-column column-name"><?php
|
| 21 |
-
<th scope="col" class="manage-column column-slug"><?php
|
| 22 |
-
<th scope="col" class="manage-column column-description"><?php
|
| 23 |
</tr>
|
| 24 |
</tfoot>
|
| 25 |
|
|
@@ -38,29 +47,29 @@
|
|
| 38 |
|
| 39 |
|
| 40 |
<div class="form-wrap">
|
| 41 |
-
<h3><?php
|
| 42 |
|
| 43 |
-
<form method="post" action="<?php echo admin_url( 'admin.php?page=simple-sidebars&action=create' ); ?>">
|
| 44 |
<?php wp_nonce_field( 'simple-sidebars-action_create-sidebar' ); ?>
|
| 45 |
|
| 46 |
<div class="form-field form-required">
|
| 47 |
-
<label for="sidebar-name"><?php
|
| 48 |
<input name="new_sidebar[name]" id="sidebar-name" type="text" value="" size="40" aria-required="true" />
|
| 49 |
-
<p><?php
|
| 50 |
</div>
|
| 51 |
|
| 52 |
<div class="form-field">
|
| 53 |
-
<label for="sidebar-id"><?php
|
| 54 |
<input name="new_sidebar[id]" id="sidebar-id" type="text" value="" size="40" />
|
| 55 |
-
<p><?php
|
| 56 |
</div>
|
| 57 |
|
| 58 |
<div class="form-field">
|
| 59 |
-
<label for="sidebar-description"><?php
|
| 60 |
<textarea name="new_sidebar[description]" id="sidebar-description" rows="5" cols="40"></textarea>
|
| 61 |
</div>
|
| 62 |
|
| 63 |
-
<p class="submit"><input type="submit" class="button" name="submit" id="submit" value="<?php
|
| 64 |
</form></div>
|
| 65 |
|
| 66 |
</div>
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Main Admin View.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebar
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
+
?>
|
| 9 |
+
|
| 10 |
+
<h1><?php esc_html_e( 'Genesis - Simple Sidebars', 'genesis-simple-sidebars' ); ?></h1>
|
| 11 |
|
| 12 |
<div id="col-container">
|
| 13 |
|
| 14 |
<div id="col-right">
|
| 15 |
<div class="col-wrap">
|
| 16 |
|
| 17 |
+
<h3><?php esc_html_e( 'Current Sidebars', 'genesis-simple-sidebars' ); ?></h3>
|
| 18 |
<table class="widefat tag fixed" cellspacing="0">
|
| 19 |
<thead>
|
| 20 |
<tr>
|
| 21 |
+
<th scope="col" id="name" class="manage-column column-name"><?php esc_html_e( 'Name', 'genesis-simple-sidebars' ); ?></th>
|
| 22 |
+
<th scope="col" class="manage-column column-slug"><?php esc_html_e( 'ID', 'genesis-simple-sidebars' ); ?></th>
|
| 23 |
+
<th scope="col" id="description" class="manage-column column-description"><?php esc_html_e( 'Description', 'genesis-simple-sidebars' ); ?></th>
|
| 24 |
</tr>
|
| 25 |
</thead>
|
| 26 |
|
| 27 |
<tfoot>
|
| 28 |
<tr>
|
| 29 |
+
<th scope="col" class="manage-column column-name"><?php esc_html_e( 'Name', 'genesis-simple-sidebars' ); ?></th>
|
| 30 |
+
<th scope="col" class="manage-column column-slug"><?php esc_html_e( 'ID', 'genesis-simple-sidebars' ); ?></th>
|
| 31 |
+
<th scope="col" class="manage-column column-description"><?php esc_html_e( 'Description', 'genesis-simple-sidebars' ); ?></th>
|
| 32 |
</tr>
|
| 33 |
</tfoot>
|
| 34 |
|
| 47 |
|
| 48 |
|
| 49 |
<div class="form-wrap">
|
| 50 |
+
<h3><?php esc_html_e( 'Add New Sidebar', 'genesis-simple-sidebars' ); ?></h3>
|
| 51 |
|
| 52 |
+
<form method="post" action="<?php echo esc_attr( esc_url( admin_url( 'admin.php?page=simple-sidebars&action=create' ) ) ); ?>">
|
| 53 |
<?php wp_nonce_field( 'simple-sidebars-action_create-sidebar' ); ?>
|
| 54 |
|
| 55 |
<div class="form-field form-required">
|
| 56 |
+
<label for="sidebar-name"><?php esc_html_e( 'Name', 'genesis-simple-sidebars' ); ?></label>
|
| 57 |
<input name="new_sidebar[name]" id="sidebar-name" type="text" value="" size="40" aria-required="true" />
|
| 58 |
+
<p><?php esc_html_e( 'A recognizable name for your new sidebar widget area', 'genesis-simple-sidebars' ); ?></p>
|
| 59 |
</div>
|
| 60 |
|
| 61 |
<div class="form-field">
|
| 62 |
+
<label for="sidebar-id"><?php esc_html_e( 'ID', 'genesis-simple-sidebars' ); ?></label>
|
| 63 |
<input name="new_sidebar[id]" id="sidebar-id" type="text" value="" size="40" />
|
| 64 |
+
<p><?php esc_html_e( 'The unique ID is used to register the sidebar widget area', 'genesis-simple-sidebars' ); ?></p>
|
| 65 |
</div>
|
| 66 |
|
| 67 |
<div class="form-field">
|
| 68 |
+
<label for="sidebar-description"><?php esc_html_e( 'Description', 'genesis-simple-sidebars' ); ?></label>
|
| 69 |
<textarea name="new_sidebar[description]" id="sidebar-description" rows="5" cols="40"></textarea>
|
| 70 |
</div>
|
| 71 |
|
| 72 |
+
<p class="submit"><input type="submit" class="button" name="submit" id="submit" value="<?php esc_attr_e( 'Add New Sidebar', 'genesis-simple-sidebars' ); ?>" /></p>
|
| 73 |
</form></div>
|
| 74 |
|
| 75 |
</div>
|
includes/views/entry-metabox-content.php
CHANGED
|
@@ -1,4 +1,10 @@
|
|
| 1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
$sidebars = Genesis_Simple_Sidebars()->core->get_sidebars();
|
| 3 |
global $wp_registered_sidebars;
|
| 4 |
wp_nonce_field( 'genesis-simple-sidebars-save-entry', 'genesis-simple-sidebars-save-entry-nonce' );
|
|
@@ -7,40 +13,45 @@ if ( is_registered_sidebar( 'header-right' ) ) : ?>
|
|
| 7 |
<p>
|
| 8 |
<label class="howto" for="genesis_simple_sidebars[_ss_header]"><span><?php echo esc_attr( $wp_registered_sidebars['header-right']['name'] ); ?><span></label>
|
| 9 |
<select name="genesis_simple_sidebars[_ss_header]" id="genesis_simple_sidebars[_ss_header]" style="width: 99%">
|
| 10 |
-
<option value=""><?php
|
| 11 |
<?php
|
| 12 |
-
foreach ( (array) $sidebars as $
|
| 13 |
-
printf( '<option value="%s" %s>%s</option>', esc_html( $
|
| 14 |
}
|
| 15 |
?>
|
| 16 |
</select>
|
| 17 |
</p>
|
| 18 |
-
<?php
|
|
|
|
| 19 |
|
| 20 |
-
if ( is_registered_sidebar( 'sidebar' ) ) :
|
|
|
|
| 21 |
<p>
|
| 22 |
<label class="howto" for="genesis_simple_sidebars[_ss_sidebar]"><span><?php echo esc_attr( $wp_registered_sidebars['sidebar']['name'] ); ?><span></label>
|
| 23 |
<select name="genesis_simple_sidebars[_ss_sidebar]" id="genesis_simple_sidebars[_ss_sidebar]" style="width: 99%">
|
| 24 |
-
<option value=""><?php
|
| 25 |
<?php
|
| 26 |
-
foreach ( (array) $sidebars as $
|
| 27 |
-
printf( '<option value="%s" %s>%s</option>', esc_html( $
|
| 28 |
}
|
| 29 |
?>
|
| 30 |
</select>
|
| 31 |
</p>
|
| 32 |
-
<?php
|
|
|
|
| 33 |
|
| 34 |
-
if ( is_registered_sidebar( 'sidebar-alt' ) ) :
|
|
|
|
| 35 |
<p>
|
| 36 |
<label class="howto" for="genesis_simple_sidebars[_ss_sidebar_alt]"><span><?php echo esc_attr( $wp_registered_sidebars['sidebar-alt']['name'] ); ?><span></label>
|
| 37 |
<select name="genesis_simple_sidebars[_ss_sidebar_alt]" id="genesis_simple_sidebars[_ss_sidebar_alt]" style="width: 99%">
|
| 38 |
-
<option value=""><?php
|
| 39 |
<?php
|
| 40 |
-
foreach ( (array) $sidebars as $
|
| 41 |
-
printf( '<option value="%s" %s>%s</option>', esc_html( $
|
| 42 |
}
|
| 43 |
?>
|
| 44 |
</select>
|
| 45 |
</p>
|
| 46 |
-
<?php
|
|
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Genesis view for metabox content.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
$sidebars = Genesis_Simple_Sidebars()->core->get_sidebars();
|
| 9 |
global $wp_registered_sidebars;
|
| 10 |
wp_nonce_field( 'genesis-simple-sidebars-save-entry', 'genesis-simple-sidebars-save-entry-nonce' );
|
| 13 |
<p>
|
| 14 |
<label class="howto" for="genesis_simple_sidebars[_ss_header]"><span><?php echo esc_attr( $wp_registered_sidebars['header-right']['name'] ); ?><span></label>
|
| 15 |
<select name="genesis_simple_sidebars[_ss_header]" id="genesis_simple_sidebars[_ss_header]" style="width: 99%">
|
| 16 |
+
<option value=""><?php esc_html_e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
| 17 |
<?php
|
| 18 |
+
foreach ( (array) $sidebars as $sidebar_id => $info ) {
|
| 19 |
+
printf( '<option value="%s" %s>%s</option>', esc_html( $sidebar_id ), selected( $sidebar_id, genesis_get_custom_field( '_ss_header' ), false ), esc_html( $info['name'] ) );
|
| 20 |
}
|
| 21 |
?>
|
| 22 |
</select>
|
| 23 |
</p>
|
| 24 |
+
<?php
|
| 25 |
+
endif;
|
| 26 |
|
| 27 |
+
if ( is_registered_sidebar( 'sidebar' ) ) :
|
| 28 |
+
?>
|
| 29 |
<p>
|
| 30 |
<label class="howto" for="genesis_simple_sidebars[_ss_sidebar]"><span><?php echo esc_attr( $wp_registered_sidebars['sidebar']['name'] ); ?><span></label>
|
| 31 |
<select name="genesis_simple_sidebars[_ss_sidebar]" id="genesis_simple_sidebars[_ss_sidebar]" style="width: 99%">
|
| 32 |
+
<option value=""><?php esc_html_e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
| 33 |
<?php
|
| 34 |
+
foreach ( (array) $sidebars as $sidebar_id => $info ) {
|
| 35 |
+
printf( '<option value="%s" %s>%s</option>', esc_html( $sidebar_id ), selected( $sidebar_id, genesis_get_custom_field( '_ss_sidebar' ), false ), esc_html( $info['name'] ) );
|
| 36 |
}
|
| 37 |
?>
|
| 38 |
</select>
|
| 39 |
</p>
|
| 40 |
+
<?php
|
| 41 |
+
endif;
|
| 42 |
|
| 43 |
+
if ( is_registered_sidebar( 'sidebar-alt' ) ) :
|
| 44 |
+
?>
|
| 45 |
<p>
|
| 46 |
<label class="howto" for="genesis_simple_sidebars[_ss_sidebar_alt]"><span><?php echo esc_attr( $wp_registered_sidebars['sidebar-alt']['name'] ); ?><span></label>
|
| 47 |
<select name="genesis_simple_sidebars[_ss_sidebar_alt]" id="genesis_simple_sidebars[_ss_sidebar_alt]" style="width: 99%">
|
| 48 |
+
<option value=""><?php esc_html_e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
| 49 |
<?php
|
| 50 |
+
foreach ( (array) $sidebars as $sidebar_id => $info ) {
|
| 51 |
+
printf( '<option value="%s" %s>%s</option>', esc_html( $sidebar_id ), selected( $sidebar_id, genesis_get_custom_field( '_ss_sidebar_alt' ), false ), esc_html( $info['name'] ) );
|
| 52 |
}
|
| 53 |
?>
|
| 54 |
</select>
|
| 55 |
</p>
|
| 56 |
+
<?php
|
| 57 |
+
endif;
|
includes/views/term-edit-sidebar-form.php
CHANGED
|
@@ -1,17 +1,25 @@
|
|
| 1 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
| 4 |
<table class="form-table">
|
| 5 |
|
| 6 |
<?php if ( is_registered_sidebar( 'header-right' ) ) : ?>
|
| 7 |
<tr class="form-field">
|
| 8 |
-
<th scope="row" valign="top"><label for="genesis-meta[_ss_header]"><?php
|
| 9 |
<td>
|
| 10 |
<select name="genesis-meta[_ss_header]" id="genesis-meta[_ss_header]" style="padding-right: 10px;">
|
| 11 |
-
<option value=""><?php
|
| 12 |
<?php
|
| 13 |
-
foreach ( (array) $sidebars as $
|
| 14 |
-
printf( '<option value="%s" %s>%s</option>', esc_html( $
|
| 15 |
}
|
| 16 |
?>
|
| 17 |
</select>
|
|
@@ -20,13 +28,13 @@
|
|
| 20 |
<?php endif; ?>
|
| 21 |
|
| 22 |
<tr class="form-field">
|
| 23 |
-
<th scope="row" valign="top"><label for="genesis-meta[_ss_sidebar]"><?php
|
| 24 |
<td>
|
| 25 |
<select name="genesis-meta[_ss_sidebar]" id="genesis-meta[_ss_sidebar]" style="padding-right: 10px;">
|
| 26 |
-
<option value=""><?php
|
| 27 |
<?php
|
| 28 |
-
foreach ( (array) $sidebars as $
|
| 29 |
-
printf( '<option value="%s" %s>%s</option>', esc_html( $
|
| 30 |
}
|
| 31 |
?>
|
| 32 |
</select>
|
|
@@ -35,13 +43,13 @@
|
|
| 35 |
|
| 36 |
<?php if ( Genesis_Simple_Sidebars()->core->has_3_column_layout() ) : ?>
|
| 37 |
<tr class="form-field">
|
| 38 |
-
<th scope="row" valign="top"><label for="genesis-meta[_ss_sidebar_alt]"><?php
|
| 39 |
<td>
|
| 40 |
<select name="genesis-meta[_ss_sidebar_alt]" id="genesis-meta[_ss_sidebar_alt]" style="padding-right: 10px;">
|
| 41 |
-
<option value=""><?php
|
| 42 |
<?php
|
| 43 |
-
foreach ( (array) $sidebars as $
|
| 44 |
-
printf( '<option value="%s" %s>%s</option>', esc_html( $
|
| 45 |
}
|
| 46 |
?>
|
| 47 |
</select>
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Term Edit Form View.
|
| 4 |
+
*
|
| 5 |
+
* @package genesis-simple-sidebars
|
| 6 |
+
*/
|
| 7 |
|
| 8 |
+
$sidebars = Genesis_Simple_Sidebars()->core->get_sidebars();
|
| 9 |
+
?>
|
| 10 |
+
|
| 11 |
+
<h3><?php esc_html_e( 'Sidebar Options', 'genesis-simple-sidebars' ); ?></h3>
|
| 12 |
<table class="form-table">
|
| 13 |
|
| 14 |
<?php if ( is_registered_sidebar( 'header-right' ) ) : ?>
|
| 15 |
<tr class="form-field">
|
| 16 |
+
<th scope="row" valign="top"><label for="genesis-meta[_ss_header]"><?php esc_html_e( 'Header Right', 'genesis-simple-sidebars' ); ?></label></th>
|
| 17 |
<td>
|
| 18 |
<select name="genesis-meta[_ss_header]" id="genesis-meta[_ss_header]" style="padding-right: 10px;">
|
| 19 |
+
<option value=""><?php esc_html_e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
| 20 |
<?php
|
| 21 |
+
foreach ( (array) $sidebars as $sidebar_id => $info ) {
|
| 22 |
+
printf( '<option value="%s" %s>%s</option>', esc_html( $sidebar_id ), selected( $sidebar_id, get_term_meta( $tag->term_id, '_ss_header', true ), false ), esc_html( $info['name'] ) );
|
| 23 |
}
|
| 24 |
?>
|
| 25 |
</select>
|
| 28 |
<?php endif; ?>
|
| 29 |
|
| 30 |
<tr class="form-field">
|
| 31 |
+
<th scope="row" valign="top"><label for="genesis-meta[_ss_sidebar]"><?php esc_html_e( 'Primary Sidebar', 'genesis-simple-sidebars' ); ?></label></th>
|
| 32 |
<td>
|
| 33 |
<select name="genesis-meta[_ss_sidebar]" id="genesis-meta[_ss_sidebar]" style="padding-right: 10px;">
|
| 34 |
+
<option value=""><?php esc_html_e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
| 35 |
<?php
|
| 36 |
+
foreach ( (array) $sidebars as $sidebar_id => $info ) {
|
| 37 |
+
printf( '<option value="%s" %s>%s</option>', esc_html( $sidebar_id ), selected( $sidebar_id, get_term_meta( $tag->term_id, '_ss_sidebar', true ), false ), esc_html( $info['name'] ) );
|
| 38 |
}
|
| 39 |
?>
|
| 40 |
</select>
|
| 43 |
|
| 44 |
<?php if ( Genesis_Simple_Sidebars()->core->has_3_column_layout() ) : ?>
|
| 45 |
<tr class="form-field">
|
| 46 |
+
<th scope="row" valign="top"><label for="genesis-meta[_ss_sidebar_alt]"><?php esc_html_e( 'Secondary Sidebar', 'genesis-simple-sidebars' ); ?></label></th>
|
| 47 |
<td>
|
| 48 |
<select name="genesis-meta[_ss_sidebar_alt]" id="genesis-meta[_ss_sidebar_alt]" style="padding-right: 10px;">
|
| 49 |
+
<option value=""><?php esc_html_e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
| 50 |
<?php
|
| 51 |
+
foreach ( (array) $sidebars as $sidebar_id => $info ) {
|
| 52 |
+
printf( '<option value="%s" %s>%s</option>', esc_html( $sidebar_id ), selected( $sidebar_id, get_term_meta( $tag->term_id, '_ss_sidebar_alt', true ), false ), esc_html( $info['name'] ) );
|
| 53 |
}
|
| 54 |
?>
|
| 55 |
</select>
|
plugin.php
CHANGED
|
@@ -1,20 +1,26 @@
|
|
| 1 |
<?php
|
| 2 |
-
|
| 3 |
-
Plugin Name: Genesis Simple Sidebars
|
| 4 |
-
Plugin URI:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
-
|
|
|
|
|
|
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
|
|
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
Text Domain: genesis-simple-sidebars
|
| 14 |
-
Domain Path: /languages/
|
| 15 |
-
|
| 16 |
-
License: GNU General Public License v2.0 (or later)
|
| 17 |
-
License URI: http://www.opensource.org/licenses/gpl-license.php
|
| 18 |
-
*/
|
| 19 |
-
|
| 20 |
-
require_once( plugin_dir_path( __FILE__ ) . 'genesis-simple-sidebars.php' );
|
| 1 |
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Plugin Name: Genesis Simple Sidebars
|
| 4 |
+
* Plugin URI: https://github.com/copyblogger/genesis-simple-sidebars
|
| 5 |
+
* Description: Genesis Simple Sidebars allows you to easily create and use new sidebar widget areas.
|
| 6 |
+
* Version: 2.2.0
|
| 7 |
+
* Author: StudioPress
|
| 8 |
+
* Author URI: http://www.studiopress.com/
|
| 9 |
+
* License: GNU General Public License v2.0 (or later)
|
| 10 |
+
* License URI: https://www.opensource.org/licenses/gpl-license.php
|
| 11 |
+
*
|
| 12 |
+
* Text Domain: genesis-simple-sidebars
|
| 13 |
+
* Domain Path: /languages
|
| 14 |
+
*
|
| 15 |
+
* @package genesis-simple-sidebars
|
| 16 |
+
*/
|
| 17 |
|
| 18 |
+
/**
|
| 19 |
+
* Load the plugin file.
|
| 20 |
+
*/
|
| 21 |
|
| 22 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
| 23 |
+
exit;
|
| 24 |
+
}
|
| 25 |
|
| 26 |
+
require_once plugin_dir_path( __FILE__ ) . 'genesis-simple-sidebars.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
=== Plugin Name ===
|
| 2 |
-
Contributors: nathanrice, wpmuguru
|
| 3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5553118
|
| 4 |
Tags: hooks, genesis, genesiswp, studiopress
|
| 5 |
Requires at least: 4.7.3
|
| 6 |
-
Tested up to:
|
| 7 |
-
Stable tag: 2.
|
| 8 |
|
| 9 |
This plugin allows you to create multiple, dynamic widget areas, and assign those widget areas to sidebar locations within the Genesis Framework on a per post, per page, or per tag/category archive basis.
|
| 10 |
|
|
@@ -37,6 +37,10 @@ Not in the way you're probably thinking. The markup surrounding the widget area
|
|
| 37 |
|
| 38 |
== Changelog ==
|
| 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
= 2.1.0 =
|
| 41 |
* Rewrite based on new plugin boilerplate.
|
| 42 |
* Make ID field readonly, rather than disabled.
|
|
@@ -85,5 +89,3 @@ Not in the way you're probably thinking. The markup surrounding the widget area
|
|
| 85 |
|
| 86 |
= 0.1 =
|
| 87 |
* Initial Alpha Release.
|
| 88 |
-
|
| 89 |
-
|
| 1 |
=== Plugin Name ===
|
| 2 |
+
Contributors: nathanrice, wpmuguru, marksabbath
|
| 3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5553118
|
| 4 |
Tags: hooks, genesis, genesiswp, studiopress
|
| 5 |
Requires at least: 4.7.3
|
| 6 |
+
Tested up to: 5.1.1
|
| 7 |
+
Stable tag: 2.2.0
|
| 8 |
|
| 9 |
This plugin allows you to create multiple, dynamic widget areas, and assign those widget areas to sidebar locations within the Genesis Framework on a per post, per page, or per tag/category archive basis.
|
| 10 |
|
| 37 |
|
| 38 |
== Changelog ==
|
| 39 |
|
| 40 |
+
= 2.2.0 =
|
| 41 |
+
* Fixed coding standards errors.
|
| 42 |
+
* Introduced coding standards validation.
|
| 43 |
+
|
| 44 |
= 2.1.0 =
|
| 45 |
* Rewrite based on new plugin boilerplate.
|
| 46 |
* Make ID field readonly, rather than disabled.
|
| 89 |
|
| 90 |
= 0.1 =
|
| 91 |
* Initial Alpha Release.
|
|
|
|
|
|
