diff --git a/.gitmodules b/.gitmodules
index 52c6a5f..403abfe 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
[submodule "vendor/mailchimp-api-php"]
path = vendor/mailchimp-api-php
url = https://bitbucket.org/mailchimp/mailchimp-api-php.git
-[submodule "wordpress-mailchimp-tools"]
- path = wordpress-mailchimp-tools
- url = https://github.com/INN/wordpress-mailchimp-tools.git
diff --git a/.travis.yml b/.travis.yml
index a1b234b..777b1c9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,17 +1,45 @@
# Travis CI Configuration File
+# Use Travis CI container-based infrastructure
+# See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/
+sudo: false
+
# Tell Travis CI we're using PHP
language: php
# PHP version used in first build configuration.
-php:
- - "5.3"
-
-sudo: false
+# https://secure.php.net/supported-versions.php
+# php:
+# # PHP pre-5.6 is EOL
+# - "5.6"
+# # PHP 7.0 is EOL
+# - "7.1"
+# - "7.2"
+# - "7.3"
# WordPress version used in first build configuration.
-env:
- - WP_VERSION=4.2.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+# env:
+# - WP_VERSION=4.2.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+
+# for a breakdown of why these versions were chosen, see https://github.com/INN/WP-DS-NPR-API/issues/12#issuecomment-374730094
+matrix:
+ include:
+ # PHPUnit 5
+ - php: 5.6
+ env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 6
+ - php: 7.1
+ env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.1
+ env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.1
+ env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 8, based on https://github.com/INN/link-roundups/issues/135#issuecomment-470357566
+ #- php: 7.2
+ # env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 8, based on https://github.com/INN/link-roundups/issues/135#issuecomment-470357566
+ #- php: 7.3
+ # env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# Only test the develop and master branches for now
branches:
@@ -34,10 +62,6 @@ before_script:
- sed -i "s/yourpasswordhere//" wp-tests-config.php
- mv wp-tests-config.php "$WP_TESTS_DIR/wp-tests-config.php"
- cd "$WP_CORE_DIR/src/wp-content/plugins/$SLUG"
+ - phpunit --version
script: phpunit
-
-notifications:
- hipchat:
- rooms:
- secure: mrJDwl2LYmWGY6gKUEsSnbGp3mQ8UhVQkb9oBmRSDx9T/hCSDx4Q2KDLo0OqCFIwDB5BevP16vDDWVmsg8Ldwk+Hh0YAmdUqBAXe21+17ojqSIAdQg6LgLrEFEBNVBlPu89xonRMnsai34RDCoRt5c9OLuWgGVMAcTojpQvPiII=
diff --git a/README.md b/README.md
index d068709..74d0704 100644
--- a/README.md
+++ b/README.md
@@ -1,85 +1,20 @@
# Link Roundups
-A WordPress plugin to make it easy to collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp. Built and maintained by [INN Nerds](http://nerds.inn.org).
-
-**Contributors:** The INN Nerds (David Ryan, Ryan Nagle, Ben Keith, Will Haynes, Adam Schweigert) and Project Argo (Corey Daley, Chris Amico, Wesley Lindamood)
-
-**Tags:** link, newsletter, widget, mailchimp
-
-**Requires at least:** 4.1
-
-**Tested up to:** 4.2.3
-
-**Stable tag:** 0.4.1
-
-**License:** GPLv2 or later
-
-**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
+A WordPress plugin to make it easy to collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp. Built and maintained by [INN Labs](https://labs.inn.org).
+**Requires at least:** 4.1
+**Tested up to:** 5.2
+**Stable tag:** See https://github.com/INN/link-roundups/releases
+**License:** GPLv2 or later
+**License URI:** https://www.gnu.org/licenses/gpl-2.0.html
## Overview
-The Link Roundup plugin allows you to:
-
-- Curate links
-- Create link roundup posts
-- Optionally send the roundup posts to MailChimp to be distributed to your subscribers
-
-It also includes two widgets:
-
-- A widget to display your recently saved links
-- A widget to display your recent link roundup posts (with the ability to limit by category)
-
-The plugin includes a browser bookmark that you can drag to your browser's bookmark bar, allowing you to save links directly to your WordPress site. This bookmark attempts to pre-fill fields like link title, source, URL and featured image and also allows you to add a description to each link viewable when published on your site.
-
-In its previous life, Link Roundups was called Argo Links.
-
+See the [overview on WordPress.org](https://wordpress.org/plugins/link-roundups/).
## Installation
-Link Roundups can be installed like any other WordPress plugin.
-
-1. Download the contents of this repository.
-2. Unzip the package and rename the folder to "link-roundups" (the folder will be called "link-roundups-master" but this may cause problems if you don't rename it before uploading to your site)
-3. Upload the folder to your WordPress installation in the wp-content/plugins directory
-4. Login to WordPress, click on Plugins in the left hand menu
-5. Select the Link Roundups plugin and click "activate"
-6. Review the plugin settings under the Settings > Link Roundups menu
-
-Installation directly from the WordPress.org plugin directory coming soon!
-
-## Features
-
-#### Saved Links
-![New Saved Link](https://raw.githubusercontent.com/INN/link-roundups/master/docs/img/new-saved-link.png)
-
-Curate links from around the web and save them in WordPress using a handy browser bookmark. You can also add your own descriptions and organize saved links using tags.
-
-#### Saved Links Widget
-
-Display a feed of your recent Saved Links, optionally filtered by tags.
-
-#### Link Roundups
-![Recent Saved Links Panel in Link Roundups Editor](https://raw.githubusercontent.com/INN/link-roundups/master/docs/img/link-roundups-passthru.png)
-
-Build Link Roundup posts using a panel that displays and filters your recent Saved Links. Select the links you want to include and send them to the editor to compose your roundup posts.
-
-#### Link Roundups Widget
-
-Display most recent Link Roundup posts by date. Optionally, limit the roundup posts displayed by category.
-
-#### MailChimp API Integration
-
-Simplify your workflow by sending Link Roundup posts directly to MailChimp. Create a template for your roundups using a number of special template tags and then create a new MailChimp campaign directly from WordPress. You can even include sponsored links.
-
-#### Rename Link Roundups
-
-If you would prefer to call your roundup posts something else (daily digest, for example) you can rename the singular (default: Link Roundup) and plural form (default: Link Roundups) as well as the slug for posts in the Link Roundups custom post type.
-
-#### Custom HTML for Displaying Links
-
-Link Roundup posts have some default styling for your saved links to make sure your posts look great out of the box. If you'd prefer to modify the HTML output for Save Links or styling for sponsored links, you can do that from the plugin settings.
-
+See the [installation instructions on WordPress.org](https://wordpress.org/plugins/link-roundups/#installation).
## [Documentation](docs/readme.md)
@@ -89,9 +24,28 @@ Link Roundup posts have some default styling for your saved links to make sure y
4. [Using Saved Link and Link Roundup widgets](docs/widgets.md)
5. [__More →__](docs/readme.md)
-
## Development
For information on the development status of this plugin, check the [development milestones on github](https://github.com/INN/link-roundups/milestones).
If you'd like to contribute to the project, please see our [contributing guidelines](contributing.md).
+
+This plugin depends on [INN/wordpress-mailchimp-tools](https://github.com/INN/wordpress-mailchimp-tools), as well as some components imported via composer.
+
+## Contributors:
+
+**The Institute for Nonprofit News:**
+
+- David Ryan
+- Ryan Nagle
+- Ben Keith
+- Will Haynes
+- Adam Schweigert
+- RC Lations
+- Josh Darby
+
+**Project Argo:**
+
+- Corey Daley
+- Chris Amico
+- Wesley Lindamood
diff --git a/README.txt b/README.txt
index 95da186..cf7b576 100644
--- a/README.txt
+++ b/README.txt
@@ -1,12 +1,15 @@
=== Link Roundups ===
-Contributors: inn_nerds
+Contributors: innlabs
Donate link: https://inn.org/donate
Tags: newsletters, mailchimp, links, curation, aggregation
-Requires at least: 4.1
-Tested up to: 4.2.3
-Stable tag: 0.5
+Requires at least: 4.2
+Tested up to: 5.2
+Stable tag: 1.0
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Requires PHP: 5.6
+Text Domain: link-roundups
+
Collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp.
@@ -19,20 +22,39 @@ Collect links from around the web, turn them into roundup posts and streamline t
* **Custom HTML for links** Customize the presentation of Saved Links in Link Roundups
* **Link Roundups Widget** Display most recent Link Roundup posts by date
* **Saved Links Widget** Display a feed of your recent Saved Links, optionally filtered by tags
-* **Browser Bookmark** Create new Saved Links via a browser bookmarklet
+* **Browser Bookmark** Create new Saved Links via a browser bookmarklet, on supported WordPress configurations
* **MailChimp Integration** Create new MailChimp campaigns based on a Link Roundup
== Installation ==
+Via WordPress.org:
+
1. Install the Link Roundups plugin via the Wordpress.org plugin directory
2. Activate the plugin
3. Navigate to the Admin -> Link Roundups -> Options page to configure the plugin
4. Done!
+For other installation methods, [see this plugin's installation methods on GitHub](https://github.com/INN/link-roundups/blob/master/docs/installation.md).
+
[Read more about installing plugins here](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins).
== Changelog ==
+= 1.0
+
+- Tested up to WordPress 5.2 and PHP 7.3
+- Reenables the "Save to Site" bookmarklet for saving links for Link Roundups, if the site admin is willing to use the [Press This](https://wordpress.org/plugins/press-this/) plugin to enable this feature. Pull request [#159](https://github.com/INN/link-roundups/pull/159) for issue [#130](https://github.com/INN/link-roundups/issues/130).
+- Updates the [WordPress MailChimp Tools](https://github.com/INN/wordpress-mailchimp-tools) submodule to use version 3 of the MailChimp API, and gain various compatibility updates for modern PHP versions. Upgrading to the new MailChimp API means that users of the MailChimp campaign functionality in the Link Roundups plugin can now use MailChimp editable content areas in their templates, as described [in our documentation](https://github.com/INN/link-roundups/blob/master/docs/mailchimp.md).
+- Updates installation documentation. Pull request [#139](https://github.com/INN/link-roundups/pull/139) for issue [#145](https://github.com/INN/link-roundups/issues/145).
+- Applies the `'widget_title'` filter to the title of the Link Roundups widget. Pull request [#152](https://github.com/INN/link-roundups/pull/152) for issue [#104](https://github.com/INN/link-roundups/issues/104).
+- Wraps the `Source:` label in the Saved Links List widget in a `span.source-label`. Pull request [#139](https://github.com/INN/link-roundups/pull/139) for issue [#144](https://github.com/INN/link-roundups/issues/144).
+- Sets HTML5 input types on widget forms. Pull request [#139](https://github.com/INN/link-roundups/pull/139) for issue [#143](https://github.com/INN/link-roundups/issues/143).
+- Fixes the saved_links_widget constructor for error-free PHP7 compatibility. Pull request [#137](https://github.com/INN/link-roundups/pull/137) for issue [#132](https://github.com/INN/link-roundups/issues/132).
+- Updates the local clone of WP_List_Table, fixing compatibility, and updating docs for that process. Pull request [#139](https://github.com/INN/link-roundups/pull/139) for issues [#128](https://github.com/INN/link-roundups/issues/128) and [#118](https://github.com/INN/link-roundups/issues/118).
+- Updates Travis automated testing to support PHP 5.6, 7.1, 7.2. Pull request [#138](https://github.com/INN/link-roundups/pull/138) for issue [#135](https://github.com/INN/link-roundups/issues/135).
+- Improves maintainer docs. Pull request [#139](https://github.com/INN/link-roundups/pull/139) for issue [#140](https://github.com/INN/link-roundups/issues/140).
+
+
= 0.4.1 =
- The default query for Saved Links in the roundup editor is now for the last 30 days
diff --git a/bower.json b/bower.json
index c4c9c3e..99ccc61 100644
--- a/bower.json
+++ b/bower.json
@@ -3,7 +3,7 @@
"description": "A WordPress plugin that makes it easy to collect links, turn them into roundup posts and produce roundup newsletters using MailChimp.",
"main": "link-roundups.php",
"authors": [
- "INN Nerds "
+ "INN Labs "
],
"license": "MIT",
"homepage": "https://github.com/INN/link-roundups",
@@ -14,6 +14,7 @@
"node_modules",
"bower_components",
"js/vendor",
+ "vendor",
"test",
"tests"
],
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..3874666
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,5 @@
+{
+ "require": {
+ "inn/wordpress-mailchimp-tools": "dev-master#4ef8919f2e214ad0493c12405e6c8a263ac7a1c6"
+ }
+}
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 0000000..c752a82
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,111 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "c2dff385ba98797520b22558f1a9b7f1",
+ "packages": [
+ {
+ "name": "drewm/mailchimp-api",
+ "version": "v2.5.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/drewm/mailchimp-api.git",
+ "reference": "a6519cafba509e754e748d93f3532ad7f3aa515a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/drewm/mailchimp-api/zipball/a6519cafba509e754e748d93f3532ad7f3aa515a",
+ "reference": "a6519cafba509e754e748d93f3532ad7f3aa515a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "7.0.*",
+ "vlucas/phpdotenv": "^2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DrewM\\MailChimp\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Drew McLellan",
+ "email": "drew.mclellan@gmail.com",
+ "homepage": "http://allinthehead.com/"
+ }
+ ],
+ "description": "Super-simple, minimum abstraction MailChimp API v3 wrapper",
+ "homepage": "https://github.com/drewm/mailchimp-api",
+ "time": "2019-03-28T15:20:43+00:00"
+ },
+ {
+ "name": "inn/wordpress-mailchimp-tools",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/INN/wordpress-mailchimp-tools.git",
+ "reference": "4ef8919f2e214ad0493c12405e6c8a263ac7a1c6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/4ef8919f2e214ad0493c12405e6c8a263ac7a1c6",
+ "reference": "4ef8919f2e214ad0493c12405e6c8a263ac7a1c6",
+ "shasum": ""
+ },
+ "require": {
+ "drewm/mailchimp-api": "^2.5",
+ "php": ">=5.2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "inc/"
+ ],
+ "files": [
+ "mailchimp-tools.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0"
+ ],
+ "authors": [
+ {
+ "name": "INN Nerds",
+ "email": "nerds@inn.org",
+ "homepage": "http://nerds.inn.org",
+ "role": "Developer"
+ }
+ ],
+ "description": "Collection of tools for authoring MailChimp newsletters via the WordPress dashboard",
+ "homepage": "https://nerds.inn.org/",
+ "keywords": [
+ "api",
+ "email"
+ ],
+ "time": "2019-05-16T20:35:15+00:00"
+ }
+ ],
+ "packages-dev": [],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": {
+ "inn/wordpress-mailchimp-tools": 20
+ },
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/contributing.md b/contributing.md
index c297229..6971a2c 100644
--- a/contributing.md
+++ b/contributing.md
@@ -9,18 +9,15 @@ We welcome contributions and suggestions to help us improve this project. Please
3. Stage and commit your changes (git commit -am 'description of my changes')
4. Push the changes to your fork (git push origin my-branch)
5. [Submit a pull request to the parent repo](https://help.github.com/articles/creating-a-pull-request). Please read our [guide to submitting pull requests](https://github.com/inn/docs/blob/master/how-to-work-with-us/pull-requests.md) to see what we expect in a good pull request message.
-6. Pull request should be assigned to:
- - [@rnagle](http://github.com/rnagle) (primary)
- - [@aschweigert](http://github.com/aschweigert)(secondary)
We have [a helpful how-to](https://github.com/INN/docs/blob/master/how-to-work-with-us/via-github.md) that walks through this process in more detail if you're new to using Git.
Additionally, you can [create issues](https://github.com/INN/link-roundups/issues) on this repo to suggest changes or improvements.
-And of course you can always email us: [nerds@inn.org](mailto:nerds@inn.org).
+And of course you can always email us: [support@inn.org](mailto:support@inn.org).
### Standards
-- Follow all standards from the INN Nerds [coding style guide](https://github.com/INN/docs/tree/master/style-guides/code).
-- Use [markdown syntax](http://daringfireball.net/projects/markdown/syntax) for all text documents.
+- Follow all standards from the INN Labs [coding style guide](https://github.com/INN/docs/tree/master/style-guides/code).
+- Use [Markdown syntax](https://guides.github.com/features/mastering-markdown/) for all text documents.
- Pull requests for new functionality should be accompanied by tests wherever possible.
diff --git a/css/lroundups-admin.css b/css/lroundups-admin.css
index da8db91..823f08f 100644
--- a/css/lroundups-admin.css
+++ b/css/lroundups-admin.css
@@ -4,8 +4,6 @@ Create MailChimp Campaign Button
#link-roundups-publish-actions {
text-align: center;
border-bottom: 1px solid #ccc;
- margin-bottom: 10px;
- padding-bottom: 10px;
}
#link-roundups-publish-actions input[type="submit"] {
display: inline-block;
@@ -20,9 +18,6 @@ New Saved Links dialog
/* ==========================================================================
Recent Roundups Editor Styles
========================================================================== */
-#link_roundups_roundup .inside {
- min-height: 250px;
-}
#link_roundups_roundup .pagination {
margin: 10px 0;
}
@@ -30,7 +25,13 @@ Recent Roundups Editor Styles
padding-bottom: 15px;
}
#link_roundups_roundup #filter_links {
- margin: 10px 0;
+ margin: 0 10px 0;
+}
+button.button.append-saved-links {
+ margin: 0 10px 0 0;
+}
+.tablenav .actions select[name="link_date"] {
+ float: none;
}
div.display-saved-links div.pagination {
height: 30px;
@@ -49,4 +50,4 @@ div.display-saved-links .none-found {
font-style: italic;
font-weight: bold;
}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlc3MvbHJvdW5kdXBzLWFkbWluLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0E7RUFDRSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTs7QUFKRiw4QkFLRSxNQUFLO0VBQ0gscUJBQUE7RUFDQSxpQkFBQTs7Ozs7QUFNSixTQUFTLGFBQWEsc0JBQXVCO0VBQzNDLGFBQUE7Ozs7O0FBTUYsc0JBQ0U7RUFDRSxpQkFBQTs7QUFGSixzQkFJRTtFQUNFLGNBQUE7O0FBQ0Esc0JBRkYsWUFFRztFQUNGLG9CQUFBOztBQVBILHNCQVVFO0VBQ0UsY0FBQTs7QUFJSixHQUFHLG9CQUNELElBQUc7RUFDRCxZQUFBOztBQUZKLEdBQUcsb0JBQ0QsSUFBRyxXQUVEO0FBSEosR0FBRyxvQkFDRCxJQUFHLFdBR0Q7RUFDRSxXQUFBO0VBQ0EscUJBQUE7O0FBTk4sR0FBRyxvQkFDRCxJQUFHLFdBT0Q7RUFDSSxjQUFBOztBQVRSLEdBQUcsb0JBWUQ7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkNyZWF0ZSBNYWlsQ2hpbXAgQ2FtcGFpZ24gQnV0dG9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2xpbmstcm91bmR1cHMtcHVibGlzaC1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbk5ldyBTYXZlZCBMaW5rcyBkaWFsb2dcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud3AtYWRtaW4ucG9zdC1uZXctcGhwLnBvc3QtdHlwZS1yb3VuZHVwbGluayAjbWlub3ItcHVibGlzaGluZy1hY3Rpb25ze1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUmVjZW50IFJvdW5kdXBzIEVkaXRvciBTdHlsZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jbGlua19yb3VuZHVwc19yb3VuZHVwIHtcbiAgLmluc2lkZSB7XG4gICAgbWluLWhlaWdodDogMjUwcHg7XG4gIH1cbiAgLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgICY6bGFzdC1jaGlsZCB7XG5cdCAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG4gICNmaWx0ZXJfbGlua3Mge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG59XG5cbmRpdi5kaXNwbGF5LXNhdmVkLWxpbmtzIHtcbiAgZGl2LnBhZ2luYXRpb24ge1xuICAgIGhlaWdodDozMHB4O1xuICAgIHNwYW4sXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmN1cnJlbnQge1xuICAgICAgICBjb2xvcjogI0M3QzdDNztcbiAgICB9XG4gIH1cbiAgLm5vbmUtZm91bmQge1xuICBtYXJnaW46LjI1ZW0gMCAwLjVlbSAwO1xuICBkaXNwbGF5OmJsb2NrO1xuICBmb250LXN0eWxlOml0YWxpYztcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgfVxufVxuIl19 */
\ No newline at end of file
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlc3MvbHJvdW5kdXBzLWFkbWluLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0E7RUFDRSxrQkFBQTtFQUNBLDZCQUFBOztBQUZGLDhCQUdFLE1BQUs7RUFDSCxxQkFBQTtFQUNBLGlCQUFBOzs7OztBQU1KLFNBQVMsYUFBYSxzQkFBdUI7RUFDM0MsYUFBQTs7Ozs7QUFNRixzQkFHRTtFQUNFLGNBQUE7O0FBQ0Esc0JBRkYsWUFFRztFQUNDLG9CQUFBOztBQU5OLHNCQVNFO0VBQ0UsZ0JBQUE7O0FBR0osTUFBTSxPQUFPO0VBQ1gsa0JBQUE7O0FBRUYsU0FBVSxTQUFTLE9BQU07RUFDdkIsV0FBQTs7QUFHRixHQUFHLG9CQUNELElBQUc7RUFDRCxZQUFBOztBQUZKLEdBQUcsb0JBQ0QsSUFBRyxXQUVEO0FBSEosR0FBRyxvQkFDRCxJQUFHLFdBR0Q7RUFDRSxXQUFBO0VBQ0EscUJBQUE7O0FBTk4sR0FBRyxvQkFDRCxJQUFHLFdBT0Q7RUFDSSxjQUFBOztBQVRSLEdBQUcsb0JBWUQ7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkNyZWF0ZSBNYWlsQ2hpbXAgQ2FtcGFpZ24gQnV0dG9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2xpbmstcm91bmR1cHMtcHVibGlzaC1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuTmV3IFNhdmVkIExpbmtzIGRpYWxvZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi53cC1hZG1pbi5wb3N0LW5ldy1waHAucG9zdC10eXBlLXJvdW5kdXBsaW5rICNtaW5vci1wdWJsaXNoaW5nLWFjdGlvbnN7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZWNlbnQgUm91bmR1cHMgRWRpdG9yIFN0eWxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNsaW5rX3JvdW5kdXBzX3JvdW5kdXAge1xuICAuaW5zaWRlIHtcbiAgfVxuICAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuICAjZmlsdGVyX2xpbmtzIHtcbiAgICBtYXJnaW46IDAgMTBweCAwO1xuICB9XG59XG5idXR0b24uYnV0dG9uLmFwcGVuZC1zYXZlZC1saW5rcyB7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cbi50YWJsZW5hdiAuYWN0aW9ucyBzZWxlY3RbbmFtZT1cImxpbmtfZGF0ZVwiXSB7XG4gIGZsb2F0OiBub25lO1xufVxuXG5kaXYuZGlzcGxheS1zYXZlZC1saW5rcyB7XG4gIGRpdi5wYWdpbmF0aW9uIHtcbiAgICBoZWlnaHQ6MzBweDtcbiAgICBzcGFuLFxuICAgIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICNDN0M3Qzc7XG4gICAgfVxuICB9XG4gIC5ub25lLWZvdW5kIHtcbiAgbWFyZ2luOi4yNWVtIDAgMC41ZW0gMDtcbiAgZGlzcGxheTpibG9jaztcbiAgZm9udC1zdHlsZTppdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIH1cbn1cbiJdfQ== */
\ No newline at end of file
diff --git a/css/lroundups-admin.min.css b/css/lroundups-admin.min.css
index 21bdf65..9775566 100644
--- a/css/lroundups-admin.min.css
+++ b/css/lroundups-admin.min.css
@@ -1 +1 @@
-#link_roundups_roundup #filter_links,#link_roundups_roundup .pagination{margin:10px 0}#link-roundups-publish-actions{text-align:center;border-bottom:1px solid #ccc;margin-bottom:10px;padding-bottom:10px}#link-roundups-publish-actions input[type=submit]{display:inline-block;margin:10px auto}.wp-admin.post-new-php.post-type-rounduplink #minor-publishing-actions{display:none}#link_roundups_roundup .inside{min-height:250px}#link_roundups_roundup .pagination:last-child{padding-bottom:15px}div.display-saved-links div.pagination{height:30px}div.display-saved-links div.pagination a,div.display-saved-links div.pagination span{color:#000;text-decoration:none}div.display-saved-links div.pagination .current{color:#C7C7C7}div.display-saved-links .none-found{margin:.25em 0 .5em;display:block;font-style:italic;font-weight:700}
\ No newline at end of file
+#link-roundups-publish-actions{text-align:center;border-bottom:1px solid #ccc}#link-roundups-publish-actions input[type=submit]{display:inline-block;margin:10px auto}.wp-admin.post-new-php.post-type-rounduplink #minor-publishing-actions{display:none}#link_roundups_roundup .pagination{margin:10px 0}#link_roundups_roundup .pagination:last-child{padding-bottom:15px}#link_roundups_roundup #filter_links{margin:0 10px}button.button.append-saved-links{margin:0 10px 0 0}.tablenav .actions select[name=link_date]{float:none}div.display-saved-links div.pagination{height:30px}div.display-saved-links div.pagination a,div.display-saved-links div.pagination span{color:#000;text-decoration:none}div.display-saved-links div.pagination .current{color:#C7C7C7}div.display-saved-links .none-found{margin:.25em 0 .5em;display:block;font-style:italic;font-weight:700}
\ No newline at end of file
diff --git a/css/lroundups.css b/css/lroundups.css
index 25ad888..77d278a 100644
--- a/css/lroundups.css
+++ b/css/lroundups.css
@@ -72,10 +72,4 @@ Saved Links Widget
.wp-list-table.lroundups-links tfoot td {
border-top: 1px solid #e1e1e1;
}
-button.button.append-saved-links {
- margin: 10px 10px 10px 0;
-}
-.tablenav .actions select[name="link_date"] {
- float: none;
-}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlc3MvbHJvdW5kdXBzLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsQ0FBQztFQUNDLFdBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBOztBQUpGLENBQUMsY0FLQztFQUNFLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTs7QUFSSixDQUFDLGNBVUM7RUFDRSxjQUFBOztBQVhKLENBQUMsY0FhQztFQUNFLFdBQUE7RUFDQSxtQkFBQTs7QUFFRixDQWpCRCxjQWlCRTtFQUNDLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7O0FBSUosVUFBVyxFQUFDO0VBQ1YsNEJBQUE7Ozs7O0FBT0YsT0FBTyxZQUNMO0VBQ0Usa0JBQUE7RUFDRCxnQkFBQTs7QUFISCxPQUFPLFlBS0w7RUFDRSxtQkFBQTs7QUFOSixPQUFPLFlBS0wsRUFFRTtFQUNFLGtCQUFBOztBQVJOLE9BQU8sWUFLTCxFQUtFLFFBQVE7RUFDTixrQkFBQTs7QUFFRixPQWJHLFlBS0wsRUFRRztFQUNGLFdBQUE7O0FBZEgsT0FBTyxZQWlCTCxJQUFHO0VBQ0QsV0FBQTs7QUFsQkosT0FBTyxZQWlCTCxJQUFHLFVBRUQ7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7O0FBTU4sY0FBYyxnQkFDWixNQUFNO0FBRFIsY0FBYyxnQkFFWixNQUFNO0VBQ0osZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBOztBQUxKLGNBQWMsZ0JBQ1osTUFBTSxHQUtKO0FBTkosY0FBYyxnQkFFWixNQUFNLEdBSUo7RUFDRSxnQkFBQTs7QUFQTixjQUFjLGdCQVVaLE1BQU07RUFDSixnQ0FBQTs7QUFYSixjQUFjLGdCQWFaLE1BQU07RUFDSiw2QkFBQTs7QUFHSixNQUFNLE9BQU87RUFDWCx3QkFBQTs7QUFFRixTQUFVLFNBQVMsT0FBTTtFQUN2QixXQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkxpbmsgUm91bmR1cHMgU2F2ZWQgTGluayBQYXJhZ3JhcGggV3JhcHBlciBTdHlsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnAubHItc2F2ZWQtbGluayB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIGVtIHtcbiAgICBjb2xvcjogIzgwODA4MDtcbiAgfVxuICBpbWcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxZW0gMWVtIDA7XG4gIH1cbiAgJi5zcG9uc29yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFREYxRjQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjODA4MDgwO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gIH1cbn1cblxuLndwLWVkaXRvciBwLmxyLXNhdmVkLWxpbmsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMXB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TYXZlZCBMaW5rcyBXaWRnZXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud2lkZ2V0LnNhdmVkLWxpbmtzIHtcbiAgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgXHRmb250LXdlaWdodDo3MDA7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIH1cbiAgICAuc291cmNlIHNwYW4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgICAmLm1vcmVsaW5rIHtcblx0ICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbiAgZGl2LnBvc3QtbGVhZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDFlbSAxZW0gMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZml4IGZvciBkaXNwbGF5IG9mIGNoZWNrYm94IGluIGhlYWRlciBvZiBzYXZlZCBsaW5rcyBhZG1pbiBib3hcbi53cC1saXN0LXRhYmxlLmxyb3VuZHVwcy1saW5rcyB7XG4gIHRmb290IHRkLFxuICB0aGVhZCB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG4gIHRoZWFkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMVxuICB9XG4gIHRmb290IHRkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UxZTFlMVxuICB9XG59XG5idXR0b24uYnV0dG9uLmFwcGVuZC1zYXZlZC1saW5rcyB7XG4gIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDtcbn1cbi50YWJsZW5hdiAuYWN0aW9ucyBzZWxlY3RbbmFtZT1cImxpbmtfZGF0ZVwiXSB7XG4gIGZsb2F0OiBub25lO1xufVxuIl19 */
\ No newline at end of file
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlc3MvbHJvdW5kdXBzLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsQ0FBQztFQUNDLFdBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBOztBQUpGLENBQUMsY0FLQztFQUNFLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTs7QUFSSixDQUFDLGNBVUM7RUFDRSxjQUFBOztBQVhKLENBQUMsY0FhQztFQUNFLFdBQUE7RUFDQSxtQkFBQTs7QUFFRixDQWpCRCxjQWlCRTtFQUNDLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7O0FBSUosVUFBVyxFQUFDO0VBQ1YsNEJBQUE7Ozs7O0FBT0YsT0FBTyxZQUNMO0VBQ0Usa0JBQUE7RUFDRCxnQkFBQTs7QUFISCxPQUFPLFlBS0w7RUFDRSxtQkFBQTs7QUFOSixPQUFPLFlBS0wsRUFFRTtFQUNFLGtCQUFBOztBQVJOLE9BQU8sWUFLTCxFQUtFLFFBQVE7RUFDTixrQkFBQTs7QUFFRixPQWJHLFlBS0wsRUFRRztFQUNGLFdBQUE7O0FBZEgsT0FBTyxZQWlCTCxJQUFHO0VBQ0QsV0FBQTs7QUFsQkosT0FBTyxZQWlCTCxJQUFHLFVBRUQ7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7O0FBTU4sY0FBYyxnQkFDWixNQUFNO0FBRFIsY0FBYyxnQkFFWixNQUFNO0VBQ0osZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBOztBQUxKLGNBQWMsZ0JBQ1osTUFBTSxHQUtKO0FBTkosY0FBYyxnQkFFWixNQUFNLEdBSUo7RUFDRSxnQkFBQTs7QUFQTixjQUFjLGdCQVVaLE1BQU07RUFDSixnQ0FBQTs7QUFYSixjQUFjLGdCQWFaLE1BQU07RUFDSiw2QkFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5MaW5rIFJvdW5kdXBzIFNhdmVkIExpbmsgUGFyYWdyYXBoIFdyYXBwZXIgU3R5bGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5wLmxyLXNhdmVkLWxpbmsge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlO1xuICBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuICBlbSB7XG4gICAgY29sb3I6ICM4MDgwODA7XG4gIH1cbiAgaW1nIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMWVtIDFlbSAwO1xuICB9XG4gICYuc3BvbnNvcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRURGMUY0O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzgwODA4MDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICB9XG59XG5cbi53cC1lZGl0b3IgcC5sci1zYXZlZC1saW5rIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDFweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuU2F2ZWQgTGlua3MgV2lkZ2V0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLndpZGdldC5zYXZlZC1saW5rcyB7XG4gIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIFx0Zm9udC13ZWlnaHQ6NzAwO1xuICB9XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICB9XG4gICAgLnNvdXJjZSBzcGFuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG4gICAgJi5tb3JlbGluayB7XG5cdCAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG4gIGRpdi5wb3N0LWxlYWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAxZW0gMWVtIDA7XG4gICAgfVxuICB9XG59XG5cbi8vIGZpeCBmb3IgZGlzcGxheSBvZiBjaGVja2JveCBpbiBoZWFkZXIgb2Ygc2F2ZWQgbGlua3MgYWRtaW4gYm94XG4ud3AtbGlzdC10YWJsZS5scm91bmR1cHMtbGlua3Mge1xuICB0Zm9vdCB0ZCxcbiAgdGhlYWQgdGQge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuICB0aGVhZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTFcbiAgfVxuICB0Zm9vdCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMWUxZTFcbiAgfVxufVxuIl19 */
\ No newline at end of file
diff --git a/css/lroundups.min.css b/css/lroundups.min.css
index 245720a..151a67f 100644
--- a/css/lroundups.min.css
+++ b/css/lroundups.min.css
@@ -1 +1 @@
-p.lr-saved-link{float:left;display:block;vertical-align:top;width:100%}p.lr-saved-link a{font-weight:700;text-decoration:none;vertical-align:top}p.lr-saved-link em{color:grey}p.lr-saved-link img{float:left;margin:0 1em 1em 0}p.lr-saved-link.sponsored{background-color:#EDF1F4;font-style:italic;color:grey;padding-top:5px;padding-bottom:5px;margin:.2em 0}.wp-editor p.lr-saved-link{background-position:0 1px}.widget.saved-links h5{margin-bottom:2px;font-weight:700}.widget.saved-links p{margin-bottom:12px}.widget.saved-links p .description{margin-bottom:2px}.widget.saved-links p .source span{font-style:italic}.widget.saved-links p.morelink{clear:both}.widget.saved-links div.post-lead{float:left}.widget.saved-links div.post-lead img{float:left;margin:0 1em 1em 0}.wp-list-table.lroundups-links tfoot td,.wp-list-table.lroundups-links thead td{padding-top:8px;padding-bottom:8px;padding-left:3px}.wp-list-table.lroundups-links tfoot td input,.wp-list-table.lroundups-links thead td input{margin-left:8px}.wp-list-table.lroundups-links thead td{border-bottom:1px solid #e1e1e1}.wp-list-table.lroundups-links tfoot td{border-top:1px solid #e1e1e1}button.button.append-saved-links{margin:10px 10px 10px 0}.tablenav .actions select[name=link_date]{float:none}
\ No newline at end of file
+p.lr-saved-link{float:left;display:block;vertical-align:top;width:100%}p.lr-saved-link a{font-weight:700;text-decoration:none;vertical-align:top}p.lr-saved-link em{color:grey}p.lr-saved-link img{float:left;margin:0 1em 1em 0}p.lr-saved-link.sponsored{background-color:#EDF1F4;font-style:italic;color:grey;padding-top:5px;padding-bottom:5px;margin:.2em 0}.wp-editor p.lr-saved-link{background-position:0 1px}.widget.saved-links h5{margin-bottom:2px;font-weight:700}.widget.saved-links p{margin-bottom:12px}.widget.saved-links p .description{margin-bottom:2px}.widget.saved-links p .source span{font-style:italic}.widget.saved-links p.morelink{clear:both}.widget.saved-links div.post-lead{float:left}.widget.saved-links div.post-lead img{float:left;margin:0 1em 1em 0}.wp-list-table.lroundups-links tfoot td,.wp-list-table.lroundups-links thead td{padding-top:8px;padding-bottom:8px;padding-left:3px}.wp-list-table.lroundups-links tfoot td input,.wp-list-table.lroundups-links thead td input{margin-left:8px}.wp-list-table.lroundups-links thead td{border-bottom:1px solid #e1e1e1}.wp-list-table.lroundups-links tfoot td{border-top:1px solid #e1e1e1}
\ No newline at end of file
diff --git a/docs/bookmarklet-dependencies.md b/docs/bookmarklet-dependencies.md
new file mode 100644
index 0000000..361a4a5
--- /dev/null
+++ b/docs/bookmarklet-dependencies.md
@@ -0,0 +1,14 @@
+# Bookmarklet Dependencies
+
+The "Save to Site" bookmarklet code depends on WordPress' "Press this!" bookmarklet code. That code was [removed from WordPress version 4.9](https://make.wordpress.org/core/2017/11/02/press-this-in-4-9/), and has not been reintroduced. The WordPress maintainers put the removed code into a self-contained plugin called [Press This](https://wordpress.org/plugins/press-this/).
+
+Your site can use the "Save to Site" bookmarklet if either of these conditions are true:
+
+- You are running WordPress 4.8 (not recommended)
+- You have the [Press This](https://wordpress.org/plugins/press-this/) plugin installed and active.
+
+If your site meets neither of those conditions, you will see the following prompt:
+
+![A screenshot of a page titled "Enable Save to Site bookmarklet for your site" and the text explaining why and how to install a dependency.](img/save-to-site-bookmarklet-dependency.png)
+
+The "Install now" button will take you to your site's plugins page for a search of the WordPress.org plugins directory that should include the Press This plugin.
diff --git a/docs/img/link-roundup-mailchimp-button.png b/docs/img/link-roundup-mailchimp-button.png
index 752708d..e50caa2 100644
Binary files a/docs/img/link-roundup-mailchimp-button.png and b/docs/img/link-roundup-mailchimp-button.png differ
diff --git a/docs/img/link-roundups-mailchimp-integration.png b/docs/img/link-roundups-mailchimp-integration.png
index 72d157d..0b6c9b1 100644
Binary files a/docs/img/link-roundups-mailchimp-integration.png and b/docs/img/link-roundups-mailchimp-integration.png differ
diff --git a/docs/img/link-roundups-options-mailchimp-2.png b/docs/img/link-roundups-options-mailchimp-2.png
deleted file mode 100644
index 03c5e29..0000000
Binary files a/docs/img/link-roundups-options-mailchimp-2.png and /dev/null differ
diff --git a/docs/img/save-to-site-bookmarklet-dependency.png b/docs/img/save-to-site-bookmarklet-dependency.png
new file mode 100644
index 0000000..3c93d30
Binary files /dev/null and b/docs/img/save-to-site-bookmarklet-dependency.png differ
diff --git a/docs/installation.md b/docs/installation.md
index f3ea7f2..e416945 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -1,15 +1,22 @@
# Installation
-If you're an INN member making use of INN's [Largo Project](https://largoproject.org) hosting, the Link Roundups plugin is already installed. Just [contact us](http://jira.inn.org/servicedesk/customer/portal/4) through the Largo help desk to have it activated on your site.
+If you would like to use the [Saved Links "Save to Site" bookmarklet](saved-links.md), you may need to [install additional dependencies not included in this plugin](bookmarklet-dependencies.md), regardless of the method you use to install this plugin.
+
+## WordPress Plugin Directory
+
+Install from https://wordpress.org/plugins/link-roundups/ !
+
+## Your WordPress Dashboard
+
+From your site's dashboard, go to Plugins, then "Add New", and search for "Link Roundups" by INN Labs.
## Manual Install
-1. Download the [.zip archive](https://github.com/INN/link-roundups/archive/master.zip) from GitHub.
+1. Download the latest master [.zip archive](https://github.com/INN/link-roundups/archive/master.zip) from GitHub, or `git clone https://github.com/INN/link-roundups.git`.
2. Extract the .zip archive.
3. Rename the plugin directory to `link-roundups`. If the directory the plugin files reside in is named anything else, the plugin will not work.
-4. Upload the plugin directory to you server's `wp-content/plugins` directory.
-5. Activate the plugin through the [`Plugins` menu](https://codex.wordpress.org/Plugins_Screen) in WordPress.
+4. Run `composer install` — this requires [composer](https://getcomposer.org/), the PHP dependency manager.
+5. Upload the plugin directory to you server's `wp-content/plugins` directory.
+6. Activate the plugin through the [`Plugins` menu](https://codex.wordpress.org/Plugins_Screen) in WordPress.
-## WordPress Plugin Directory or Your WordPress Dashboard
-Coming Soon. Yes, exciting.
diff --git a/docs/mailchimp.md b/docs/mailchimp.md
index c445ec2..aed4219 100644
--- a/docs/mailchimp.md
+++ b/docs/mailchimp.md
@@ -2,31 +2,29 @@
Using the Mailchimp API, Link Roundups can send Roundups as newsletters via a MailChimp account.
-## Prerequisites: Setup a Template and List in MailChimp
+## Prerequisites
-You'll need to create a template and a list if you don't already have them in MailChimp.
+First, you'll need:
+
+- A MailChimp account
+- An [audience](https://mailchimp.com/help/create-audience/) created in MailChimp
## Getting an API key from MailChimp
In order to use the MailChimp features of Link Roundups, you'll need to sign up for an API key from MailChimp. To do that:
1. Log in to MailChimp.
-2. Click on your account in the upper-right corner. In the drop-down menu, click "Account".
-3. Click on "Extras", then "API keys".
-4. Click "Create A Key". A new key will appear in the list.
-5. Click the "Label" field of your new API key. Name it after the site you're using Argo Links on. For example: "example.com argo links"
-6. Copy the API key. This will be a long string of characters from 0-9 and a-f.
-7. On your website, go to **Dashboard > Link Roundups > Options**.
-8. Paste the MailChimp API Key into the appropriate field, then check "Enable MailChimp API Integration".
-9. Press "Save Changes".
+2. Follow [MailChimp's instructions for generating a new API key](https://mailchimp.com/help/about-api-keys/), and copy the API key.
+3. On your website, go to **Dashboard > Settings > MailChimp Options**.
+4. Paste the MailChimp API Key into the appropriate field
+5. Press "Save Changes".
+6. Go to **Settings > MailChimp Settings** to configure your MailChimp campaigns.
![Link Roundups MailChimp API settings](./img/link-roundups-mailchimp-integration.png)
## Creating a template in the MailChimp dashboard
-You'll need a MailChimp template created and configured for use with Link Roundups.
-
-There are many options for creating MailChimp templates, but as a simple way of getting started:
+You'll need a MailChimp template created and configured for use with Link Roundups. This requires the use of MailChimp's [Custom Templates](https://mailchimp.com/help/import-a-custom-html-template/) with [Editable Content Areas](https://mailchimp.com/help/create-editable-content-areas-with-mailchimps-template-language/).
1. Click on "Templates" in the MailChimp header.
2. Pick a single-column or column-and-sidebar template.
@@ -34,44 +32,70 @@ There are many options for creating MailChimp templates, but as a simple way of
4. Click "Save and Exit".
5. Name your template, then save.
-### Inserting template tags
+### Inserting editable content areas
-This plugin's MailChimp features depend on the presence of specific tags in your MailChimp template.
+This plugin's MailChimp features depend on the presence of specific markup in your custom MailChimp template.
You'll have to edit your template to add them, so that they can be replaced with your content when you go to send a campaign.
1. Click on "Templates" in the MailChimp header.
2. Click "Edit" on the template you want to edit.
-Then, edit the template to insert the following tags where you want them to appear:
+Then, edit the template to insert the content tags where you'd like them to appear. Here's an example of a fragment of an email's content:
+
+```html
+
+
This should be the roundup title:
+
This should be replaced with the roundup title
+
+
This should be the roundup author:
+
This should be replaced with the roundup author
+
+
This should be the roundup date:
+
This should be replaced with the roundup date
+
+
This should be the roundup links:
+
This should be replaced with the roundup links
+
+
This should be the roundup permalink:
+
This should be replaced with the roundup permalink
+
+```
#### Required Tags:
-If these template tags are not present in your MailChimp template, you will be unable to create a new Argo Links Roundup Email Campaign.
+If these template tags are not present in your MailChimp template, you will be unable to create a new Links Roundup Email Campaign.
-- `*|ROUNDUPLINKS|*` - The actual list of links from the Argo Links Roundup post
+- `mc:edit="rounduplink"` - The post content from a Link Roundup post
#### Optional Tags:
These template tags are not required, but you may wish to use them in your template.
-- `*|ROUNDUPTITLE|*` - The Link Roundup post title
-- `*|ROUNDUPAUTHOR|*` - The author of the Link Roundup post
-- `*|ROUNDUPDATE|*` - The date the Links Roundu post was published
-- `*|ROUNDUPPERMALINK|*` - A link back to the original Link Roundup post
+- `mc:edit="rounduptitle"` - The Link Roundup post title
+- `mc:edit="roundupauthor"` - The author of the Link Roundup post
+- `mc:edit="roundupdate"` - The date the Links Roundup post was published
+- `mc:edit="rounduppermalink"` - A link back to the original Link Roundup post
-## Choosing the MailChimp Template and List to use
+## Choosing the MailChimp Template and Audience to use
-So now you have at least one template saved in MailChimp, and we're assuming you also have a list of subscribers for your newsletter. Go back to the Link Roundups Options page in **Link Roundups > Options**, and choose your template, and which MailChiimp List you want to use:
+So now you have at least one template saved in MailChimp, and we're assuming you also have a list of subscribers for your newsletter. Go to **Link Roundups > MailChimp Campaign Settings**, and choose :
-![Link Roundups MailChimp API settings](./img/link-roundups-options-mailchimp-2.png)
+- Your defauult adience to send campaigns to
+- Your default template for sending campaigns
+- The defalt email address which test campaigns are sent to.
# Creating a MailChimp Campaign
Once you have [saved some links](saving-links.md) and [created a link roundup post](link-roundups.md), you can send the link roundup post to MailChimp as a draft campaign.
-In the Link Roundups editor, above the standard WordPress "Publish" button you'll find a button to "Create a MailChimp Campaign."
+In the Link Roundups editor, in a box near the bottom of the page you'll see an option to create a draft or send an email. If an email has already been sent, you'll see information about where to find the sent campaign in MailChimp's admin.
![Create MailChimp Campaign button in the post editor](./img/link-roundup-mailchimp-button.png)
-When you click "Create a MailChimp Campaign" you will be asked to confirm the action. The Link Roundups plugin will contact MailChimp to create the campaign and, upon success, present you with a link to finish editing the campaign in the MailChimp dashboard.
\ No newline at end of file
+Buttons that may appear at the bottom of this box are as follows:
+
+- Send now: Sends the campaign.
+- Create draft: Creates a draft camapign in MailChimp. You can update the draft using the Link Roundps editor or in MailChimp.
+- Send Test: Lets you send a draft campaign.
+- Update Draft: Refreshes the draft campaign in MailChimp with details from this editor.
diff --git a/docs/maintainers.md b/docs/maintainers.md
new file mode 100644
index 0000000..333b12c
--- /dev/null
+++ b/docs/maintainers.md
@@ -0,0 +1,11 @@
+# Developer notes:
+
+## Class Saved_Links_List_Table
+
+See [the note in that class' directory](../inc/saved-links/README.md).
+
+## Releasing updates
+
+See https://github.com/INN/docs/blob/master/projects/wordpress-plugins/release.sh.md
+
+The best thing to do is to copy that checklist into [a new GitHub issue](https://github.com/INN/link-roundups/issues/new) for each release of the plugin.
diff --git a/docs/readme.md b/docs/readme.md
index ef7be07..7f722d4 100644
--- a/docs/readme.md
+++ b/docs/readme.md
@@ -18,4 +18,5 @@ Get the brief introduction to plugin features in [the main Readme.md file](https
3. [Link Roundup Posts](link-roundups.md)
4. [MailChimp Integration](mailchimp.md)
5. [WordPress Widgets](widgets.md)
-6. [Troubleshooting](troubleshooting.md)
\ No newline at end of file
+6. [Troubleshooting](troubleshooting.md)
+7. [Notes for this plugin's maintainers](maintainers.md)
diff --git a/docs/saved-links.md b/docs/saved-links.md
index 80da21b..7792f6c 100644
--- a/docs/saved-links.md
+++ b/docs/saved-links.md
@@ -2,6 +2,12 @@
Once you've [installed and activated the plugin](installation.md), you should see new Saved Links and Link Roundup menu items in your Dashboard.
+## Preliminary prep work
+
+On the WordPress Dashboard, click on **Saved Links**", then "Add Browser Bookmark". If you are prompted with a screen like the following, you'll need to [follow the instructions to enable the bookmarklet on your site](./bookmarklet-dependencies.md).
+
+![A screenshot of a page titled "Enable Save to Site bookmarklet for your site" and the text explaining why and how to install a dependency.](img/save-to-site-bookmarklet-dependency.png)
+
## Save Links via Browser Bookmark Tool (Recommended)
1. Under Saved Links, navigate to Add Browser Bookmark (Save to Site)
@@ -42,4 +48,4 @@ Now that you have some Saved Links you can:
- [Use them in Link Roundups posts](/docs/link-roundups.md) which display like other posts on your site.
- If you have a MailChimp account for your email newsletter, you can also easily [publish Link Roundup posts as MailChimp campaigns](/docs/mailchimp.md) from your WordPress dashboard.
-- You can also display Saved Links in the [Saved Links Widget](/docs/widgets.md).
\ No newline at end of file
+- You can also display Saved Links in the [Saved Links Widget](/docs/widgets.md).
diff --git a/inc/link-roundups/class-link-roundups-editor.php b/inc/link-roundups/class-link-roundups-editor.php
index 6605c23..5b8a23d 100644
--- a/inc/link-roundups/class-link-roundups-editor.php
+++ b/inc/link-roundups/class-link-roundups-editor.php
@@ -10,6 +10,7 @@ public static function init() {
add_action( 'wp_ajax_roundup_block_posts', array( __CLASS__, 'roundup_block_posts' ) );
add_action( 'wp_ajax_roundup_update_post', array( __CLASS__, 'roundup_update_post' ) );
add_shortcode( 'roundup_block', array( __CLASS__, 'roundup_block_shortcode' ) );
+ add_filter( 'mailchimp_tools_campaign_content', array( __CLASS__, 'mailchimp_tools_campaign_content' ), 10, 3 );
}
/**
@@ -293,27 +294,15 @@ public static function roundup_update_post() {
}
public static function roundup_block_posts_query() {
- $month_ago = strtotime('-30 days');
- $now = strtotime('now');
-
// Default arguments
$args = apply_filters('link_roundups_roundup_block_post_query', array(
'post_type' => 'rounduplink',
'orderby' => 'date',
'order' => 'desc',
- 'posts_per_page' => -1,
+ 'posts_per_page' => 10,
'date_query' => array(
- 'after' => array(
- 'year' => date( 'Y', $month_ago ),
- 'month' => date( 'n', $month_ago ),
- 'day' => date( 'j', $month_ago )
- ),
- 'before' => array(
- 'year' => date( 'Y', $now ),
- 'month' => date( 'n', $now ),
- 'day' => date( 'j', $now )
- ),
- 'inclusive' => true
+ 'year' => date( 'Y' ),
+ 'monthnum' => date( 'm' ),
)
));
$query = new WP_Query($args);
@@ -368,7 +357,7 @@ public static function roundup_block_posts_query() {
}
/*
- * Load posts for the roundupp block editor
+ * Load posts for the roundup block editor
*
* @since 0.3.2
*/
@@ -378,4 +367,42 @@ public static function roundup_block_posts() {
print json_encode($posts);
wp_die();
}
+
+ /**
+ * Apply information from a Link Roundup post to a WordPress MailChimp Tools email via the appropriate filter
+ *
+ * @param Array $campaign_params An array of request body parameters, as described in the "put" section of https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#%20
+ * @param WP_Post $post The post that is being turned into a MailChimp Campaign
+ * @param int $id The campaign ID
+ * @return Array $params
+ *
+ * @link the commit that implemented this filter: https://github.com/INN/wordpress-mailchimp-tools/commit/4e768f7661a2fe8fc2785140e8313280eb230c3f
+ * @link Why: https://github.com/INN/link-roundups/pull/139#issuecomment-488852947
+ */
+ public static function mailchimp_tools_campaign_content( $campaign_params, $post, $id ) {
+ // shortcut if post not set
+ if ( empty( $post ) ) {
+ return $campaign_params;
+ }
+
+ if ( ! ( $post instanceof WP_Post ) ) {
+ $post = get_post( $post );
+ }
+
+ if ( ! isset( $campaign_params['template'] ) ) {
+ $campaign_params['template'] = array();
+ }
+ if ( ! isset( $campaign_params['template']['sections'] ) ) {
+ $campaign_params['template']['sections'] = array();
+ }
+ $campaign_params['template']['sections']['rounduplinks'] = apply_filters( 'the_content', $post->post_content );
+ $campaign_params['template']['sections']['rounduptitle'] = $post->post_title;
+ $campaign_params['template']['sections']['roundupdate'] = get_the_date( '', $post->ID );
+ $campaign_params['template']['sections']['rounduppermalink'] = get_post_permalink( $post->ID );
+
+ $author = get_user_by( 'id', $post->post_author );
+ $campaign_params['template']['sections']['roundupauthor'] = $author->display_name;
+
+ return $campaign_params;
+ }
}
diff --git a/inc/link-roundups/class-link-roundups-widget.php b/inc/link-roundups/class-link-roundups-widget.php
index 3a188d0..063f969 100644
--- a/inc/link-roundups/class-link-roundups-widget.php
+++ b/inc/link-roundups/class-link-roundups-widget.php
@@ -14,58 +14,59 @@ function __construct() {
}
function widget( $args, $instance ) {
-
- extract( $args );
-
// make it possible for the widget title to be a link
$title = apply_filters('widget_title', empty( $instance['title'] ) ? __('Recent Link Roundups' , 'link-roundups') : $instance['title'], $instance, $this->id_base);
- echo $before_widget;
-
- if ( $title )
- echo $before_title . $title . $after_title;
-
- $query_args = array (
- 'post__not_in' => get_option( 'sticky_posts' ),
- 'showposts' => $instance['num_posts'],
- 'post_type' => 'post',
- 'post_status' => 'publish'
- );
- if ( $instance['cat'] != '' ) $query_args['cat'] = $instance['cat'];
- $my_query = new WP_Query( $query_args );
- if ( $my_query->have_posts() ) {
- while ( $my_query->have_posts() ) : $my_query->the_post();
- $custom = get_post_custom( $post->ID ); ?>
-
- ' . get_the_date( 'F d Y' ) . '';
- // the headline
- $output .= '
+ You don\'t have any recent links or the Link Roundups plugin is not active.', 'link-roundups' );
+ } // end recent links
+
+ if ( $instance['linkurl'] !='' ) { ?>
+
+
-
+
-
+
@@ -105,7 +106,7 @@ function form( $instance ) {
-
+
-
-
-
+ if they say you should make a copy of it you should probably make a copy of it
So now there's a copy of it.
+
+It needs to be updated on occasion, because of messages like this:
+
+> Declaration of Saved_Links_List_Table::bulk_actions($which) should be compatible with clone_WP_List_Table::bulk_actions($which = '')
diff --git a/inc/saved-links/class-saved-links-list-table.php b/inc/saved-links/class-saved-links-list-table.php
index 2462f58..f79777b 100644
--- a/inc/saved-links/class-saved-links-list-table.php
+++ b/inc/saved-links/class-saved-links-list-table.php
@@ -42,38 +42,58 @@ function __construct() {
/**
* Additional decorations for the table: "Send to editor" button and "Date range" filter
*
+ * Default presentation: date filter is set to "This Month", and changing that should also change $this->prepare_items.
+ *
* @param string $which is either "top" or "bottom", and tells you which nav you're outputting.
* @since 0.3.2
+ * @see prepare_items
*/
- function bulk_actions( $which ) {
+ function bulk_actions( $which = '' ) {
+ $request = $_REQUEST;
+ if ( ! isset( $request['link_date'] ) ) {
+ $request['link_date'] = 'this_month';
+ }
+
// this will display at top and bottom
?>
-
+
+ You don\'t have any recent links or the link roundups plugin is not active.', 'link-roundups' );
} // end recent links
@@ -120,12 +137,12 @@ function form( $instance ) {
-
+
-
+
@@ -136,7 +153,7 @@ function form( $instance ) {
-
+
@@ -153,7 +170,7 @@ function form( $instance ) {
-
+
+
+
+
+
+
+
+
Press This, which reimplements functionality that was removed from WordPress in version 4.9.',
+ 'https://wordpress.org/plugins/press-this/'
+ );
+ ?>
-get_views();
/**
- * Filter the list of available list table views.
+ * Filters the list of available list table views.
*
* The dynamic portion of the hook name, `$this->screen->id`, refers
* to the ID of the current screen, usually a string.
*
* @since 3.5.0
*
- * @param array $views An array of available list table views.
+ * @param string[] $views An array of available list table views.
*/
$views = apply_filters( "views_{$this->screen->id}", $views );
- if ( empty( $views ) )
+ if ( empty( $views ) ) {
return;
+ }
+
+ $this->screen->render_screen_reader_content( 'heading_views' );
echo "