Git Product home page Git Product logo

wp-help's Introduction

WP Help

Build Status

Contributors: markjaquith
Donate link: http://txfx.net/wordpress-plugins/donate
Tags: help, documentation, client sites, clients, docs
Requires at least: 4.9
Tested up to: 6.5
Stable tag: 1.7.5

Site operators can create detailed, hierarchical documentation for the site's authors, editors, and contributors, viewable in the WordPress admin.

Description

Site operators can create detailed, hierarchical documentation for the site's authors, editors, and contributors, viewable in the WordPress admin. Powered by Custom Post Types, you get all the power of WordPress to create, edit, and arrange your documentation. Perfect for customized client sites. Never send another "here's how to use your site" e-mail again!

NEW: You can now pull in help documents from another WP Help install, and they will be automatically updated when the source documents change (even additions and deletions!). Perfect for WordPress multisite installs, or consultants with a large number of client installs.

Installation

  1. Upload the wp-help folder to your /wp-content/plugins/ directory

  2. Activate the "WP Help" plugin in your WordPress administration interface

  3. Visit "Publishing Help" in the menu to get started (note that you can change the location and title of this menu item)

Frequently Asked Questions

Who can view the help documents?

Anyone who can save posts. So by default, Authors, Editors, Administrators, and Contributors

Who can edit the help documents?

Anyone who can publish_pages. So by default, Editors and Administrators.

How do I reorder the documents?

Just like you'd reorder pages. Change the Order setting for the page, in the Attributes meta box. To make something be first, give it a large negative number like -100.

How do I link to another help page from a help page?

Use WordPress' internal linking feature. When launched from a help document, it will only search for other help documents.

How do I change the default help document?

Edit the help document you want to be the default. Check the "Set as default help document" checkbox, and save. This will now be the default document.

Why can't I edit some documents?

Documents that came from another WP Help install that is currently connected, cannot be edited (your changes would just be overwritten anyway). In order to edit these documents, you need to disconnect from sync permanently, or edit the at their source WP Help install.

Will enabling sync delete my existing documents?

Enabling sync will delete any documents that came in via another sync source. But it will not delete locally-created documents.

Can I have multiple sync sources?

Not right now. But what you can do, is have a WP Help install that aggregates another WP Help install and is then itself used as a source for the combination of the two sites docs, to be delivered to a third site.

Why can't I reorder some docs using drag and drop?

You cannot internally sort synced documents — just move the whole "chunk" of synced documents around.. Also, if a local help document is the only document in its level, it won't get a drag handle, because there's nothing to reorder. Give it a sibling, and you'll be able to order them how you like.

Screenshots

  1. The Publishing Help screen, which lists and displays available help documents.

Upgrade Notice

1.3

Update for WordPress 3.8 support.

1.2

Update for better UI and support for WordPress 3.5.

1.1

Sexy drag and drop reordering, and order-syncing through the sync API.

1.0

MASSIVE UPDATE. Sync help documents from another WP Help install. Rename and relocate the menu item. Dashboard widget. Easier navigation.

0.3

Upgrade for a French translation.

0.2

Upgrade if you want to use WP Help in one of these languages: Bulgarian, German, Spanish, Mexican Spanish, Macedonian, Dutch, Brazilian Portuguese, or Russian.

Changelog

1.7.0

  • Block Editor (Gutenberg) support
  • Video display improvements
  • Smaller build

1.6.0

  • CSS improvements (props @mrwweb).
  • Switch from CoffeeScript to ES6 and Babel.
  • Responsive styles.

1.5.4

  • Bump supported WordPress version.

1.5.3

  • Make add/manage buttons use proper permissions.
  • Update styles.
  • Bump minimum WordPress version.

1.5.2

  • Make permissions more filterable.

1.5.1

  • Fix a PHP error on the dashboard.

1.5.0

  • Updated to Mark's 2016 plugin framework for easier maintenance.

1.4.1

  • More complete French translation.

1.4

  • Added a Hebrew translation.

1.3

  • Make the wp_list_pages() call filterable.
  • Added Serbian, Turkish, and Japanese translations.
  • Use a Dashicon for WordPress 3.8+.
  • RTL CSS styles.

1.2

  • New or updated translations for Gujarati, Norwegian, and Brazilian Portuguese.
  • CSS fixes for WordPress 3.5.
  • More robust AJAX saving when save events overlap.

1.1

  • Feature: drag and drop reordering of the documents list.
  • Feature: local /wp-admin/ links are rewritten when shared through the API so that they're wp-admin-relative and thus work on the destination site.
  • Improvement: more consistent cap checks, so plugins can consistently customize who can do what.
  • Improvement: restore settings form to previous state when "cancel" is clicked.
  • Bug fix: sort order is now synced.

1.0

  • Feature: sync help documents from another WP Help install.
  • Feature: rename the page title.
  • Feature: rename the document list title.
  • Feature: choose the location of the menu item (Dashboard submenu, or one of three top level positions).
  • Feature: easier access to creation, editing, and management of documents.
  • Feature: dashboard widget.
  • Improvement: better UI for selecting the default document.

0.3

  • Translation for: French. Squashes a PHP Notice. Add an action hook so people can add their own styles.

0.2

  • Translations for: Bulgarian, German, Spanish, Mexican Spanish, Macedonian, Dutch, Brazilian Portuguese, and Russian.

0.1

  • Initial version

wp-help's People

Contributors

dependabot[bot] avatar dimadin avatar drewapicture avatar juanfran-granados avatar markjaquith avatar mrwweb avatar mustafauysal avatar naokomc avatar ocean90 avatar spacedmonkey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wp-help's Issues

PHP Notice and White Screen When User without Dashboard Access Logs In

See: https://wordpress.org/support/topic/bug-when-user-does-not-have-permission-to-access-page/

When a logged-in user does not have permission to view the admin dashboard and visits /wp-admin/ the following errors occur:

[30-Mar-2020 11:36:28 UTC] PHP Notice: Trying to get property ‘cap’ of non-object in /var/www/wordpress/wp-content/plugins/wp-help/classes/plugin.php on line 211
[30-Mar-2020 11:36:28 UTC] PHP Stack trace:
[30-Mar-2020 11:36:28 UTC] PHP 1. {main}() /var/www/wordpress/wp-admin/index.php:0
[30-Mar-2020 11:36:28 UTC] PHP 2. require_once() /var/www/wordpress/wp-admin/index.php:10
[30-Mar-2020 11:36:28 UTC] PHP 3. require() /var/www/wordpress/wp-admin/admin.php:153
[30-Mar-2020 11:36:28 UTC] PHP 4. require_once() /var/www/wordpress/wp-admin/menu.php:326
[30-Mar-2020 11:36:28 UTC] PHP 5. do_action() /var/www/wordpress/wp-admin/includes/menu.php:155
[30-Mar-2020 11:36:28 UTC] PHP 6. WP_Hook->do_action() /var/www/wordpress/wp-includes/plugin.php:478
[30-Mar-2020 11:36:28 UTC] PHP 7. WP_Hook->apply_filters() /var/www/wordpress/wp-includes/class-wp-hook.php:312
[30-Mar-2020 11:36:28 UTC] PHP 8. CWS_WP_Help_Plugin->admin_menu() /var/www/wordpress/wp-includes/class-wp-hook.php:288
[30-Mar-2020 11:36:28 UTC] PHP 9. CWS_WP_Help_Plugin->get_cap() /var/www/wordpress/wp-content/plugins/wp-help/classes/plugin.php:601
[30-Mar-2020 11:36:28 UTC] PHP Notice: Trying to get property ‘read_posts’ of non-object in /var/www/wordpress/wp-content/plugins/wp-help/classes/plugin.php on line 211
[30-Mar-2020 11:36:28 UTC] PHP Stack trace:
[30-Mar-2020 11:36:28 UTC] PHP 1. {main}() /var/www/wordpress/wp-admin/index.php:0
[30-Mar-2020 11:36:28 UTC] PHP 2. require_once() /var/www/wordpress/wp-admin/index.php:10
[30-Mar-2020 11:36:28 UTC] PHP 3. require() /var/www/wordpress/wp-admin/admin.php:153
[30-Mar-2020 11:36:28 UTC] PHP 4. require_once() /var/www/wordpress/wp-admin/menu.php:326
[30-Mar-2020 11:36:28 UTC] PHP 5. do_action() /var/www/wordpress/wp-admin/includes/menu.php:155
[30-Mar-2020 11:36:28 UTC] PHP 6. WP_Hook->do_action() /var/www/wordpress/wp-includes/plugin.php:478
[30-Mar-2020 11:36:28 UTC] PHP 7. WP_Hook->apply_filters() /var/www/wordpress/wp-includes/class-wp-hook.php:312
[30-Mar-2020 11:36:28 UTC] PHP 8. CWS_WP_Help_Plugin->admin_menu() /var/www/wordpress/wp-includes/class-wp-hook.php:288
[30-Mar-2020 11:36:28 UTC] PHP 9. CWS_WP_Help_Plugin->get_cap() /var/www/wordpress/wp-content/plugins/wp-help/classes/plugin.php:601

I am more than happy to fix this if you would like. Would it be possible to port the source code to github though, and I can submit a pull request?

I can confirm.

Videos added through the Media Library are pushed down beyond the help listing.

Steps

  1. Click "Add New" button within the WP Help listing navigation

  2. Click the "Add Media" button

  3. Upload a sample video

  4. Click the "Insert into Page" button

  5. Publish the help topic.

  6. Navigate to the "Publishing Help" section

  7. Click the newly added help topic – notice the video appears after the the WP Help listing navigation

wp-help-video-screenshot

Admin Base

A posibility to simply get the URL to the WP-HELP-Pages because this varies depending to the menu location of wp-help. E.g. by providing a public function or var to use in Plugins.

Remove translations and load_textdomain call

CWS_WP_Help_Plugin::api_slurp() never registers the wp-help post type

I have a PULL request that addresses this issue, and will link it shortly.
(This ticket is to supply the background information).

I was seeing errors on my site generated from /wp-cron , related to wp-help.
The error was actually occurring in a different plugin (wp-optimise), however the cause of the error is able to be isolated to wp-help. This is illustrated in lines 6 & 7 in the trace below.
The error is thrown during CWS_WP_Help_Plugin::api_slurp() , when updating posts (i.e. slurped from another URL).

Currently, when CWS_WP_Help_Plugin::api_slurp() is called, it never registers the wp-help post type.

Reasons why I think the post type should be registered as part of api_slurp:

  • It's a one-line code fix to solve.
  • For someone encountering the error, it's not necessarily easy to diagnose.
  • Given we're in the context of WP hooks...etc. it is perfectly reasonable for other plugins to expect that this post type be registered, prior to wp_update_post() being called.

TRACE is as follows:

ERROR: PHP E_NOTICE (#8): Trying to get property of non-object
# 0: /htdocs/wp-content/plugins/wp-optimize/cache/class-wpo-cache-rules.php (106): MyCustomErrorHandler()
# 1: /htdocs/wp-includes/class-wp-hook.php (289): WPO_Cache_Rules::purge_post_on_update()
# 2: /htdocs/wp-includes/class-wp-hook.php (311): WP_Hook::apply_filters()
# 3: /htdocs/wp-includes/plugin.php (478): WP_Hook::do_action()
# 4: /htdocs/wp-includes/post.php (4260): do_action()
# 5: /htdocs/wp-includes/post.php (4354): wp_insert_post()
# 6: /htdocs/wp-content/plugins/wp-help/classes/plugin.php (362): wp_update_post()
# 7: /htdocs/wp-includes/class-wp-hook.php (287): CWS_WP_Help_Plugin::api_slurp()
# 8: /htdocs/wp-includes/class-wp-hook.php (311): WP_Hook::apply_filters()
# 9: /htdocs/wp-includes/plugin.php (544): WP_Hook::do_action()
#10: /htdocs/wp-cron.php (138): do_action_ref_array()

Documentation Truncated after Sync in Rare Cases

I ran into a new problem today that I've never seen. On a synced help document, a majority of the content was removed. After a bunch of experimentation, I narrowed it down to an issue with the link replacement during the slurp process. I was unable to see exactly what content was creating the issue and in a rush, so for now, I simply removed all links to other help pages on that page to solve the issue. However, I hope to figure out more later, and I want to post this here in case other people have had similar issues.

Related:

Search

Have you considered adding some search UI, so a user can search across all of their help documentation? Would you consider a pull request for this?

Strict Standards: CWS_WP_Help_Plugin and WP_Help_Plugin_Structure define the same property ($instance) in the composition of CWS_WP_Help_Plugin

Seeing this PHP message after upgrading to v1.7.0 :
Strict Standards: CWS_WP_Help_Plugin and WP_Help_Plugin_Structure define the same property ($instance) in the composition of CWS_WP_Help_Plugin. This might be incompatible, to improve maintainability consider using accessor methods in traits instead. Class was composed in /htdocs/wp-content/plugins/wp-help/classes/plugin.php on line 721

Additional info;

  • Running PHP 5.6 (and will be upgrading to PHP 7.x, before end of year).
  • i.e. Possibly only affects older PHP ?

Support Relative URLs

Thought this was a great idea posted in the support forums. Adding it here:

I would like to add a feature request on making the WP Help custom post type use relative links. That way it will be much easier to port the Help documentation of one site to another site.

I use a lot of links to admin pages in my site documentation and even when I add the link like for example /wp-admin/post-new.php?post_type=page, the export file still makes an absolute URL of it.

I have been looking through the code, but have not been able to make a filter like content_save_pre work.

I've run into this issue too, and this would be great.

Plugin Icons

I made some quick plugin icons.

They're very basic (only took me a minute). If you don't like them, feel free to close this issue (no hard feelings!). I just thought that they would look nicer than the auto-generated texture on WP.org.

Cheers,
Daniel

icon-128x128.png:
icon-128x128
icon-256x256.png:
icon-256x256
icon.svg:
icon.svg.zip

Improve Design/Readability of Documentation

I love this plugin but have always felt the text is harder to read than it should be. I'd really love to make a pass at improving the styles. While I'm not sure the plugin needs to be completely Gutenbergified, I do think that looking at their default typography might be a good place to start. If I were to work on this, that's probably where I'd start.

It seems there isn't much activity around here these days and there are a number of outstanding PRs, so @markjaquith I'd appreciate some feedback/ideas/go-ahead before sinking much time into working on some styles.

WP 3.8 / MP6 Switch Requires Icon Font Menu Icon

With the switch to WordPress 3.8 and the default dark color scheme, the plugin's menu icon no longer works. The plugin should switch to a font-based icon. Either a "?" or the equivalent symbol from Dashicons (content: "\f223";) makes sense.

This CSS adds the dashicon:

.toplevel_page_wp-help-documents .wp-menu-image:before {
    content: "\f223";
}

Such a switch would also require removing the current icon from the add_menu_icon() call that adds the Publishing Help admin menu item.

The plugin could maintain backwards compatibility by either only added the icon to the menu in 3.8+ or loading the Dashicon font in <3.8.

Is it possible to limit who can edit the help documents ?

I use your plugin and it works well.
On one website, I have set some specific roles.
I have a group set to (on pages) : edit_pages / edit_published_pages / edit_other_pages It's strange but members of this group can edit help documents, even though they have no rights to publish_pages. Could you explain that to me?
And, do you think there is a way to prevent members of this group to edit the help documents ?
Thanks a lot!

Display both Published and Updated Dates

Since documentation can often become stale, it would be great to display these dates.

Without being familiar with how the sync feature works, I don't know if that would interfere in adding these (i.e. do sync posts share both the Publication and Updated dates?).

enable Gutenberg on WP-Help

Superfan. Could easily spin up a CPT for this purpose, but I really love WP-Help and would love an update to Gutenberg, which would also make it current (it hasn't been updated in 2 years so its off the repo).

please @markjaquith pleaseeeeee :)

New Notice in latest Version

I haven't had a chance to dig into this, but I'm getting the following notice when editing a help doc with the block editor in the latest WP (5.3) & WP Help (1.7.0):

Notice: Trying to get property 'id' of non-object in /wp-content/plugins/wp-help/classes/plugin.php on line 107

Is this still alive?

I love WP Help and use it quite often, but it hasn't been updated in 2 years and that's a bit concerning. It still works, but is anyone keeping an eye on things regarding security or capability? It's just nice to know if someone is at least paying attention.

Introduce action to (de)enqueue scripts/styles for the editing interface

The plugin already removes the editor stylesheet from Twenty Twenty but there's no easy way to extend that for custom themes. By adding an action themes and plugin can use this to (de)enqueue additional scripts/styles.

wp-help/classes/plugin.php

Lines 116 to 129 in 89cbbf8

/**
* Enqueues block editor scripts.
*
* @return void
*/
public function enqueue_block_editor_assets() {
// Gutenberg.
if ( self::is_block_editor() && self::POST_TYPE === get_post_type() ) {
$asset = $this->include_file( '/dist/block-editor.asset.php' );
wp_enqueue_script( 'cws-wp-block-editor', $this->get_url() . 'dist/block-editor.js', $asset['dependencies'], $asset['version'], true );
wp_set_script_translations( 'cws-wp-block-editor', 'wp-help' );
wp_dequeue_style( 'twentytwenty-block-editor-styles' );
}
}

Support for responsive images and Prettyphoto or Lightbox

The plugin is awesome, nevertheless I think that responsive images and a lightbox are a must. For example, adding the following to the CSS would solve the responsive-images:

.wp-caption { max-width: 100%; }

.wp-caption img[class*="wp-image-"] {
    display: block;
    height: auto;
    margin: 0;
    max-width: 100%;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.