From efbc944c39fdc6523d3f8b69810a7ffa108a43bb Mon Sep 17 00:00:00 2001 From: Athlan Date: Tue, 20 May 2014 08:12:53 +0200 Subject: [PATCH 1/5] Readme draft --- readme.txt | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 readme.txt diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..2460bbd --- /dev/null +++ b/readme.txt @@ -0,0 +1,114 @@ +=== Plugin Name === +Contributors: (this should be a list of wordpress.org userid's) +Donate link: http://example.com/ +Tags: comments, spam +Requires at least: 3.0.1 +Tested up to: 3.4 +Stable tag: 4.3 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Here is a short description of the plugin. This should be no more than 150 characters. No markup here. + +== Description == + +This is the long description. No limit, and you can use Markdown (as well as in the following sections). + +For backwards compatibility, if this section is missing, the full length of the short description will be used, and +Markdown parsed. + +A few notes about the sections above: + +* "Contributors" is a comma separated list of wp.org/wp-plugins.org usernames +* "Tags" is a comma separated list of tags that apply to the plugin +* "Requires at least" is the lowest version that the plugin will work on +* "Tested up to" is the highest version that you've *successfully used to test the plugin*. Note that it might work on +higher versions... this is just the highest one you've verified. +* Stable tag should indicate the Subversion "tag" of the latest stable version, or "trunk," if you use `/trunk/` for +stable. + + Note that the `readme.txt` of the stable tag is the one that is considered the defining one for the plugin, so +if the `/trunk/readme.txt` file says that the stable tag is `4.3`, then it is `/tags/4.3/readme.txt` that'll be used +for displaying information about the plugin. In this situation, the only thing considered from the trunk `readme.txt` +is the stable tag pointer. Thus, if you develop in trunk, you can update the trunk `readme.txt` to reflect changes in +your in-development version, without having that information incorrectly disclosed about the current stable version +that lacks those changes -- as long as the trunk's `readme.txt` points to the correct stable tag. + + If no stable tag is provided, it is assumed that trunk is stable, but you should specify "trunk" if that's where +you put the stable version, in order to eliminate any doubt. + +== Installation == + +This section describes how to install the plugin and get it working. + +e.g. + +1. Upload `plugin-name.php` to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Place `` in your templates + +== Frequently Asked Questions == + += A question that someone might have = + +An answer to that question. + += What about foo bar? = + +Answer to foo bar dilemma. + +== Screenshots == + +1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from +the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets +directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png` +(or jpg, jpeg, gif). +2. This is the second screen shot + +== Changelog == + += 1.0 = +* A change since the previous version. +* Another change. + += 0.5 = +* List versions from most recent at top to oldest at bottom. + +== Upgrade Notice == + += 1.0 = +Upgrade notices describe the reason a user should upgrade. No more than 300 characters. + += 0.5 = +This version fixes a security related bug. Upgrade immediately. + +== Arbitrary section == + +You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated +plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or +"installation." Arbitrary sections will be shown below the built-in sections outlined above. + +== A brief Markdown Example == + +Ordered list: + +1. Some feature +1. Another feature +1. Something else about the plugin + +Unordered list: + +* something +* something else +* third thing + +Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax]. +Titles are optional, naturally. + +[markdown syntax]: http://daringfireball.net/projects/markdown/syntax + "Markdown is what the parser uses to process much of the readme file" + +Markdown uses email style notation for blockquotes and I've been told: +> Asterisks for *emphasis*. Double it up for **strong**. + +`` From ad6365e59bc92c7393eb930e04dd3bfcd96a7865 Mon Sep 17 00:00:00 2001 From: Athlan Date: Tue, 20 May 2014 08:13:46 +0200 Subject: [PATCH 2/5] Readme draft Markdown --- README.md | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2460bbd --- /dev/null +++ b/README.md @@ -0,0 +1,114 @@ +=== Plugin Name === +Contributors: (this should be a list of wordpress.org userid's) +Donate link: http://example.com/ +Tags: comments, spam +Requires at least: 3.0.1 +Tested up to: 3.4 +Stable tag: 4.3 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Here is a short description of the plugin. This should be no more than 150 characters. No markup here. + +== Description == + +This is the long description. No limit, and you can use Markdown (as well as in the following sections). + +For backwards compatibility, if this section is missing, the full length of the short description will be used, and +Markdown parsed. + +A few notes about the sections above: + +* "Contributors" is a comma separated list of wp.org/wp-plugins.org usernames +* "Tags" is a comma separated list of tags that apply to the plugin +* "Requires at least" is the lowest version that the plugin will work on +* "Tested up to" is the highest version that you've *successfully used to test the plugin*. Note that it might work on +higher versions... this is just the highest one you've verified. +* Stable tag should indicate the Subversion "tag" of the latest stable version, or "trunk," if you use `/trunk/` for +stable. + + Note that the `readme.txt` of the stable tag is the one that is considered the defining one for the plugin, so +if the `/trunk/readme.txt` file says that the stable tag is `4.3`, then it is `/tags/4.3/readme.txt` that'll be used +for displaying information about the plugin. In this situation, the only thing considered from the trunk `readme.txt` +is the stable tag pointer. Thus, if you develop in trunk, you can update the trunk `readme.txt` to reflect changes in +your in-development version, without having that information incorrectly disclosed about the current stable version +that lacks those changes -- as long as the trunk's `readme.txt` points to the correct stable tag. + + If no stable tag is provided, it is assumed that trunk is stable, but you should specify "trunk" if that's where +you put the stable version, in order to eliminate any doubt. + +== Installation == + +This section describes how to install the plugin and get it working. + +e.g. + +1. Upload `plugin-name.php` to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Place `` in your templates + +== Frequently Asked Questions == + += A question that someone might have = + +An answer to that question. + += What about foo bar? = + +Answer to foo bar dilemma. + +== Screenshots == + +1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from +the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets +directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png` +(or jpg, jpeg, gif). +2. This is the second screen shot + +== Changelog == + += 1.0 = +* A change since the previous version. +* Another change. + += 0.5 = +* List versions from most recent at top to oldest at bottom. + +== Upgrade Notice == + += 1.0 = +Upgrade notices describe the reason a user should upgrade. No more than 300 characters. + += 0.5 = +This version fixes a security related bug. Upgrade immediately. + +== Arbitrary section == + +You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated +plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or +"installation." Arbitrary sections will be shown below the built-in sections outlined above. + +== A brief Markdown Example == + +Ordered list: + +1. Some feature +1. Another feature +1. Something else about the plugin + +Unordered list: + +* something +* something else +* third thing + +Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax]. +Titles are optional, naturally. + +[markdown syntax]: http://daringfireball.net/projects/markdown/syntax + "Markdown is what the parser uses to process much of the readme file" + +Markdown uses email style notation for blockquotes and I've been told: +> Asterisks for *emphasis*. Double it up for **strong**. + +`` From c5f0be37bb6e8aa3e4ef3ad5689426a393c66bab Mon Sep 17 00:00:00 2001 From: Athlan Date: Wed, 21 May 2014 16:43:24 +0200 Subject: [PATCH 3/5] README added --- README.md | 131 +++++++++++----------------------------- assets/screenshot-1.png | Bin 0 -> 31413 bytes readme.txt | 108 +++++++++------------------------ 3 files changed, 62 insertions(+), 177 deletions(-) create mode 100644 assets/screenshot-1.png diff --git a/README.md b/README.md index 2460bbd..cde4bb6 100644 --- a/README.md +++ b/README.md @@ -1,114 +1,51 @@ -=== Plugin Name === -Contributors: (this should be a list of wordpress.org userid's) -Donate link: http://example.com/ -Tags: comments, spam -Requires at least: 3.0.1 -Tested up to: 3.4 -Stable tag: 4.3 -License: GPLv2 or later -License URI: http://www.gnu.org/licenses/gpl-2.0.html +# Custom Fields Permalink -Here is a short description of the plugin. This should be no more than 150 characters. No markup here. +Plugin allows to use post's custom fields values in permalink structure by adding %field_fieldname%, for posts, pages and custom post types. -== Description == +--- -This is the long description. No limit, and you can use Markdown (as well as in the following sections). +* Contributors: athlan +* Plugin url: [http://athlan.pl/wordpres-custom-fields-permalink-plugin/](http://athlan.pl/wordpres-custom-fields-permalink-plugin/) +* Tags: custom fields, permalinks, permalink, url, custom post types, post type, tax, taxonomy, types +* Requires at least: 3.0.1 +* Tested up to: 3.9.1 +* Stable tag: 1.0 +* License: MIT +* License URI: http://opensource.org/licenses/MIT -For backwards compatibility, if this section is missing, the full length of the short description will be used, and -Markdown parsed. +## Description -A few notes about the sections above: +Plugin allows to use post's custom fields values in permalink structure by adding `%field_fieldname%` rewrite tag. -* "Contributors" is a comma separated list of wp.org/wp-plugins.org usernames -* "Tags" is a comma separated list of tags that apply to the plugin -* "Requires at least" is the lowest version that the plugin will work on -* "Tested up to" is the highest version that you've *successfully used to test the plugin*. Note that it might work on -higher versions... this is just the highest one you've verified. -* Stable tag should indicate the Subversion "tag" of the latest stable version, or "trunk," if you use `/trunk/` for -stable. +Examples: - Note that the `readme.txt` of the stable tag is the one that is considered the defining one for the plugin, so -if the `/trunk/readme.txt` file says that the stable tag is `4.3`, then it is `/tags/4.3/readme.txt` that'll be used -for displaying information about the plugin. In this situation, the only thing considered from the trunk `readme.txt` -is the stable tag pointer. Thus, if you develop in trunk, you can update the trunk `readme.txt` to reflect changes in -your in-development version, without having that information incorrectly disclosed about the current stable version -that lacks those changes -- as long as the trunk's `readme.txt` points to the correct stable tag. +* `http://example.com/%field_event_date_from%/%postname%/` +* `http://example.com/post-type/%field_event_date_from%/%postname%/` (with Custom Post Type Permalinks plugin) - If no stable tag is provided, it is assumed that trunk is stable, but you should specify "trunk" if that's where -you put the stable version, in order to eliminate any doubt. +You can also set different permalink structure depending on custom post type using Custom Post Type Permalinks plugin. You can create own post types by using Custom Post Type UI plugin. -== Installation == +The plugin works for: -This section describes how to install the plugin and get it working. +* posts +* pages +* custom post types -e.g. +Plugin is also avaliable on GitHub: +https://github.com/athlan/wordpress-custom-fields-permalink-plugin -1. Upload `plugin-name.php` to the `/wp-content/plugins/` directory -1. Activate the plugin through the 'Plugins' menu in WordPress -1. Place `` in your templates +## Installation -== Frequently Asked Questions == +* Download the wordpress-custom-fields-permalink-plugin.zip file to your computer. +* Unzip the file. +* Upload the `wordpress-custom-fields-permalink-plugin` directory to your `/wp-content/plugins/` directory. +* Activate the plugin through the 'Plugins' menu in WordPress. +* Now you can use `%field_fieldname%` tag in Settings -> Permalinks. -= A question that someone might have = +## Changelog -An answer to that question. +### 1.0 +* Plugin released. -= What about foo bar? = +## Upgrade Notice -Answer to foo bar dilemma. - -== Screenshots == - -1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from -the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets -directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png` -(or jpg, jpeg, gif). -2. This is the second screen shot - -== Changelog == - -= 1.0 = -* A change since the previous version. -* Another change. - -= 0.5 = -* List versions from most recent at top to oldest at bottom. - -== Upgrade Notice == - -= 1.0 = -Upgrade notices describe the reason a user should upgrade. No more than 300 characters. - -= 0.5 = -This version fixes a security related bug. Upgrade immediately. - -== Arbitrary section == - -You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated -plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or -"installation." Arbitrary sections will be shown below the built-in sections outlined above. - -== A brief Markdown Example == - -Ordered list: - -1. Some feature -1. Another feature -1. Something else about the plugin - -Unordered list: - -* something -* something else -* third thing - -Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax]. -Titles are optional, naturally. - -[markdown syntax]: http://daringfireball.net/projects/markdown/syntax - "Markdown is what the parser uses to process much of the readme file" - -Markdown uses email style notation for blockquotes and I've been told: -> Asterisks for *emphasis*. Double it up for **strong**. - -`` +No upgrade notices. diff --git a/assets/screenshot-1.png b/assets/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..606f8b32e983ab3cb840595e941dee9bbf74a0bb GIT binary patch literal 31413 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 UKktCustom Post Type Permalinks plugin) -* "Contributors" is a comma separated list of wp.org/wp-plugins.org usernames -* "Tags" is a comma separated list of tags that apply to the plugin -* "Requires at least" is the lowest version that the plugin will work on -* "Tested up to" is the highest version that you've *successfully used to test the plugin*. Note that it might work on -higher versions... this is just the highest one you've verified. -* Stable tag should indicate the Subversion "tag" of the latest stable version, or "trunk," if you use `/trunk/` for -stable. +You can also set different permalink structure depending on custom post type using Custom Post Type Permalinks plugin. You can create own post types by using Custom Post Type UI plugin. - Note that the `readme.txt` of the stable tag is the one that is considered the defining one for the plugin, so -if the `/trunk/readme.txt` file says that the stable tag is `4.3`, then it is `/tags/4.3/readme.txt` that'll be used -for displaying information about the plugin. In this situation, the only thing considered from the trunk `readme.txt` -is the stable tag pointer. Thus, if you develop in trunk, you can update the trunk `readme.txt` to reflect changes in -your in-development version, without having that information incorrectly disclosed about the current stable version -that lacks those changes -- as long as the trunk's `readme.txt` points to the correct stable tag. +The plugin works for: - If no stable tag is provided, it is assumed that trunk is stable, but you should specify "trunk" if that's where -you put the stable version, in order to eliminate any doubt. +* posts +* pages +* custom post types -== Installation == - -This section describes how to install the plugin and get it working. +Plugin is also avaliable on GitHub: +https://github.com/athlan/wordpress-custom-fields-permalink-plugin -e.g. +== Installation == -1. Upload `plugin-name.php` to the `/wp-content/plugins/` directory -1. Activate the plugin through the 'Plugins' menu in WordPress -1. Place `` in your templates +* Download the wordpress-custom-fields-permalink-plugin.zip file to your computer. +* Unzip the file. +* Upload the `wordpress-custom-fields-permalink-plugin` directory to your `/wp-content/plugins/` directory. +* Activate the plugin through the 'Plugins' menu in WordPress. +* Now you can use `%field_fieldname%` tag in Settings -> Permalinks. == Frequently Asked Questions == @@ -59,56 +50,13 @@ Answer to foo bar dilemma. == Screenshots == -1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from -the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets -directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png` -(or jpg, jpeg, gif). -2. This is the second screen shot +1. Pemralink settings == Changelog == = 1.0 = -* A change since the previous version. -* Another change. - -= 0.5 = -* List versions from most recent at top to oldest at bottom. +* Plugin released. == Upgrade Notice == -= 1.0 = -Upgrade notices describe the reason a user should upgrade. No more than 300 characters. - -= 0.5 = -This version fixes a security related bug. Upgrade immediately. - -== Arbitrary section == - -You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated -plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or -"installation." Arbitrary sections will be shown below the built-in sections outlined above. - -== A brief Markdown Example == - -Ordered list: - -1. Some feature -1. Another feature -1. Something else about the plugin - -Unordered list: - -* something -* something else -* third thing - -Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax]. -Titles are optional, naturally. - -[markdown syntax]: http://daringfireball.net/projects/markdown/syntax - "Markdown is what the parser uses to process much of the readme file" - -Markdown uses email style notation for blockquotes and I've been told: -> Asterisks for *emphasis*. Double it up for **strong**. - -`` +No upgrade notices. From a6aa1a87e7c94961490df55f05a8ef16a1840b5f Mon Sep 17 00:00:00 2001 From: Athlan Date: Wed, 21 May 2014 16:44:53 +0200 Subject: [PATCH 4/5] Plugin name changed --- README.md | 2 +- readme.txt | 2 +- ...malink.php => wordpress-custom-fields-permalink-plugin.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename custom-fields-permalink.php => wordpress-custom-fields-permalink-plugin.php (92%) diff --git a/README.md b/README.md index cde4bb6..6d42039 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Custom Fields Permalink +# Custom Fields Permalink 2 Plugin allows to use post's custom fields values in permalink structure by adding %field_fieldname%, for posts, pages and custom post types. diff --git a/readme.txt b/readme.txt index 2d2cf2c..59b392e 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -=== Plugin Name === +=== Custom Fields Permalink 2 === Contributors: athlan Donate link: http://athlan.pl/wordpres-custom-fields-permalink-plugin/ Tags: custom fields, permalinks, permalink, url, custom post types, post type, tax, taxonomy, types diff --git a/custom-fields-permalink.php b/wordpress-custom-fields-permalink-plugin.php similarity index 92% rename from custom-fields-permalink.php rename to wordpress-custom-fields-permalink-plugin.php index dbffb8e..5f04c20 100644 --- a/custom-fields-permalink.php +++ b/wordpress-custom-fields-permalink-plugin.php @@ -1,8 +1,8 @@ Date: Wed, 21 May 2014 16:49:48 +0200 Subject: [PATCH 5/5] Since version added. --- README.md | 2 +- readme.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6d42039..efed9d3 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Plugin allows to use post's custom fields values in permalink structure by addin * Contributors: athlan * Plugin url: [http://athlan.pl/wordpres-custom-fields-permalink-plugin/](http://athlan.pl/wordpres-custom-fields-permalink-plugin/) * Tags: custom fields, permalinks, permalink, url, custom post types, post type, tax, taxonomy, types -* Requires at least: 3.0.1 +* Requires at least: 3.0.0 * Tested up to: 3.9.1 * Stable tag: 1.0 * License: MIT diff --git a/readme.txt b/readme.txt index 59b392e..880fa06 100644 --- a/readme.txt +++ b/readme.txt @@ -2,7 +2,7 @@ Contributors: athlan Donate link: http://athlan.pl/wordpres-custom-fields-permalink-plugin/ Tags: custom fields, permalinks, permalink, url, custom post types, post type, tax, taxonomy, types -Requires at least: 3.0.1 +Requires at least: 3.0.0 Tested up to: 3.9.1 Stable tag: 1.0 License: MIT