=== Genesis Widgetized Not Found & 404 === Contributors: daveshine, deckerweb Donate link: http://genesisthemes.de/en/donate/ Tags: genesis, genesiswp, genesis framework, 404, error, search, not found, widget, widgets, deckerweb Requires at least: 3.2 Tested up to: 3.4-beta3 Stable tag: 1.1 Finally, use widgets to maintain and customize your 404 Error and Search Not Found pages in Genesis Framework and Child Themes. == Description == = New Flexibility plus Enhanced User Experience = We all know that sometimes 404 Errors happen on our sites. And sometimes users search but get no results. I believe it's better to serve users some highly customized and maintained pages/content areas for these cases. What better to do that with Widgets in WordPress? -- In my opinion Genesis Framework could improve here so that's why I just made this little plugin to FINALLY have these two cases maintainable EASILY via your widgets admin. Just place in a search widget, your last blog posts, an image widget, some explanation via text widget, some galleries... You got it. The possibilities are endless. Finally. A great helper tool for Genesis Child Themes! = Advantages = * Helps users stay longer on your site because you can give options like search form, recent posts etc. * Hugely improved user experience! (Helps decrease the "Oops, I broke the internet..." experiences...) * Easily customizeable for any webmaster! * Works across Genesis child themes - so you can switch your "skin" but not loosing this tool :-) = General Features = * Small & lightweight plugin tool: Just activate plugin, place your widgets and you're done! * Adds a new widget area (Sidebar) for the "404 Error Page" * Adds a new widget area (Sidebar) for the "Search not found" page (if there no results on search) * Adds a few CSS styles for the content area to properly divide widgets with some more space (all other styling is recommended via your child theme) * Included are two handy helper functions (via child theme) for applying the Genesis 'Full-Width' layout option for one or both 'not found' cases! -- [See the FAQ section for more info on that!](http://wordpress.org/extend/plugins/genesis-widgetized-notfound/faq/) * Customizeable via 5 filters: if ever needed you can customize the widget titles and descriptions and for edge case even the "search not found" default text (if you forgot to use a widget here...) * Fully internationalized! Real-life tested and developed with international users in mind! * Fully WPML compatible! * Fully Multisite compatible, you can also network-enable it if ever needed (per site use is recommended). * Tested with WordPress versions 3.3.1 and 3.4-beta - also in debug mode (no stuff there, ok? :) Please note: The plugin requires the Genesis Theme Framework. = Localization = * English (default) - always included * German - always included * .pot file (`genesis-widgetized-notfound.pot`) for translators is also always included :) * *Your translation? - [Just send it in](http://genesisthemes.de/en/contact/)* [A plugin from deckerweb.de and GenesisThemes](http://genesisthemes.de/en/) = Feedback = * I am open for your suggestions and feedback - Thank you for using or trying out one of my plugins! * Drop me a line [@deckerweb](http://twitter.com/#!/deckerweb) on Twitter * Follow me on [my Facebook page](http://www.facebook.com/deckerweb.service) * Or follow me on [@David Decker](http://deckerweb.de/gplus) on Google Plus ;-) = More = * [Also see my other plugins](http://genesisthemes.de/en/wp-plugins/) or see [my WordPress.org profile page](http://profiles.wordpress.org/users/daveshine/) * Tip: [*GenesisFinder* - Find then create. Your Genesis Framework Search Engine.](http://genesisfinder.com/) == Installation == 1. Upload `genesis-widgetized-notfound` folder to the `/wp-content/plugins/` directory 2. Activate the plugin through the 'Plugins' menu in WordPress 3. Got the "Widgets" admin page and configure your widgets for the "404 Error Page" and the "Search Not Found" page. 4. Hope the new widgets will never be needed, but in case, you're prepared now! :-) **Note:** The Genesis Framework is required for this plugin in order to work. **Own translation/wording:** For custom and update-secure language files please upload them to `/wp-content/languages/genesis-widgetized-notfound/` (just create this folder) - This enables you to use fully custom translations that won't be overridden on plugin updates. Also, complete custom English wording is possible with that, just use a language file like `genesis-widgetized-notfound-en_US.mo/.po` to achieve that (for creating one see the tools on "Other Notes"). == Frequently Asked Questions == = How can I change the layout of the '404 Error Page' (i.e. go full-width)? = You can use my ["Genesis Layout Extras" plugin](http://wordpress.org/extend/plugins/genesis-layout-extras/) for that, which has an option for the 404 case built in. Or you can also use my built in helper function and add this little line to your `functions.php` of your child theme (backup file before!) or to the "Custom Function" section of Prose Child Theme 1.5+: ` /** Genesis Widgetized NotFound: 404 Error Page - Full-Width Layout */ add_action( 'genesis_meta', '__gwnf_layout_404_full_width' ); ` = How can I change the layout of the 'Search not found' Page (i.e. go full-width)? = You can use my ["Genesis Layout Extras" plugin](http://wordpress.org/extend/plugins/genesis-layout-extras/) for that, which has an option for the search case built in. -- Or you can also use my built in helper function and add this little line to your `functions.php` of your child theme (backup file before!) or to the "Custom Functions" section of Prose Child Theme 1.5+: ` /** Genesis Widgetized NotFound: Search not found Page - Full-Width Layout */ add_action( 'genesis_meta', '__gwnf_layout_searchnotfound_full_width' ); ` *Note:* The above code is restricted to the case when NO search results are found! It doesn't effect your search results display IF THERE ARE any results! = How can I style the content/widget areas? = It's all done via your child theme. Maybe you need to add an "!important" to some CSS rules here and there... For more even better styling I included some IDs and classes: * "404 Error Page" section: * the whole content area, before and after all widgets is wrapped in a div with the ID: `#gwfn-404-area` * each widget in this area has its own ID depending on the widget (regular WordPress behavior!) * each widget gets an additional class: `.gwnf-404` -- which allows to set some common styles for all widgets in this area * "Search not found" section: * the whole content area, before and after all widgets is wrapped in a div with the ID: `#gwfn-notfound-area` * each widget in this area has its own ID depending on the widget (regular WordPress behavior!) * each widget gets an additional class: `.gwnf-notfound` -- which allows to set some common styles for all widgets in this area Note, WordPress itself additionally adds body classes in the 404 case and the search not found case. So you can also use these classes: `.error404` and `.search-no-results` = How can I customize the widget titles/strings in the admin? = I've just included some filters for that - if ever needed (i.e. for clients, branding purposes etc.), you can use these filters: **gwnf_filter_404_widget_title** - default value: "404 Error Page" **gwnf_filter_404_widget_description** - default value: "This is the widget area of the 404 Not Found Error Page." **gwnf_filter_notfound_widget_title** - default value: "Search Not Found" **gwnf_filter_notfound_widget_description** - default value: "This is the widget area of the search not found content section." **gwnf_filter_notfound_default** - default value: "Sorry, no content matched your criteria. Try a different search?" Example code for changing one of these filters: ` add_filter( 'gwnf_filter_404_widget_title', 'custom_404_widget_title' ); /** * Genesis Widgetized NotFound: Custom 404 Widget Title */ function custom_404_widget_title() { return __( 'Custom Error Page', 'your-child-theme-textdomain' ); } ` All the custom & branding stuff code above can also be found as a Gist on GitHub: https://gist.github.com/2473125 (you can also add your questions/ feedback there :) == Screenshots == 1. Genesis Widgetized NotFound & 404: two additional widget areas/sidebars - here with some example widgets placed in... 2. Genesis Widgetized NotFound & 404: the plugin in action on a live site - displaying here the "Search not found" case - three widgets placed in (Text widget, Search Form widget, recent Posts widget) == Changelog == = 1.1 (2012-04-23) = * NEW: Added two helper functions (via child theme) for applying the Genesis 'Full-Width' layout option for one or both 'not found' cases! This is very handy for lots of use cases... -- [See the FAQ section for more info on that!](http://wordpress.org/extend/plugins/genesis-widgetized-notfound/faq/) * UPDATE: Placed widget display in conditionals only for the "404" or the "Search not found" case to avoid overlaying of more than one 'no content messages'. This should finally cover more edge cases... * UPDATE: Improved translations loading, especially for activation (messages). * UPDATE: Improved registering of widget areas/sidebars: switching back to Genesis register function, but now properly wrapped in a conditional, checking for activated Genesis. This way we also get further improved Multisite support! * UPDATE: Improved CSS styling, handling the limition of the empty "p" (left over from the original "no content status" of Genesis). * UPDATE: Updated German translations and also the .pot file for all translators. = 1.0.1 (2012-04-20) = * Bugfix release. Mmh, stuff happens... * UPDATE: Changed widget registering from Genesis to WordPress function (it doesn't matter in the end!) * BUGFIX: Fixed function typo that was causing notices on plugin activation. * UPDATE: Minor code documentation updates. Also, minor updates to readme.txt file here. * UPDATE: Updated German translations and also the .pot file for all translators. * UPDATE: Added banner image on WordPress.org for better plugin branding :) = 1.0 (2012-04-20) = * Initial release == Upgrade Notice == = 1.1 = Several changes & improvements: Added two layout helper functions. Further, improved conditional checks, code and documentation. Also updated readme.txt file as well as .pot plus German translations. = 1.0.1 = Several minor changes, mostly fixing two ugly bugs. Also changed readme files and updated translations. = 1.0 = Just released into the wild. == Translations == * English - default, always included * German: Deutsch - immer dabei! [Download auch via deckerweb.de](http://deckerweb.de/material/sprachdateien/genesis-plugins/#genesis-widgetized-notfound) * For custom and update-secure language files please upload them to `/wp-content/languages/genesis-widgetized-notfound/` (just create this folder) - This enables you to use fully custom translations that won't be overridden on plugin updates. Also, complete custom English wording is possible with that as well, just use a language file like `genesis-widgetized-notfound-en_US.mo/.po` to achieve that. *Note:* All my plugins are internationalized/ translateable by default. This is very important for all users worldwide. So please contribute your language to the plugin to make it even more useful. For translating I recommend the awesome ["Codestyling Localization" plugin](http://wordpress.org/extend/plugins/codestyling-localization/) and for validating the ["Poedit Editor"](http://www.poedit.net/), which works fine on Windows, Mac and Linux. == Idea Behind / Philosophy == I always wanted the 404 and search not found content easily customizeable! The standard messages like "Sorry, no posts matched your criteria." are a shame and lame user experience. Widgets in WordPress are powerful and allow for adding really diverse and custom stuff. So, when building my "Autobahn" child theme for Genesis I really came across this idea and technique. I also implemented it in a lot of my client projects. Now I am really happy to represent this tool in form of a plugin to make more webmasters and especially users/visitors really happy - and help them stay longer on your site!