Writer Helper 3.1.5

Does Writer Helper work with WordPress 6.0.2 and PHP 7.4.8? A smoke test was performed on .

Summary

Errors
9PHP notices
15Database errors
41Unrecognized messages in the PHP error log
No JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

Memory usage: 219.9 KiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: insignificant.
The plugin didn't make the site noticeably slower.

Environment
WordPress version6.0.2
PHP version7.4.8
MySQL version8.0.21
PHP memory limit256M
Plugin Info
Last updated
Active installs <10
WordPress.org page https://wordpress.org/plugins/writer-helper/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 12

Plugins ‹ Test site — WordPress

Page screenshot: Plugins ‹ Test site — WordPress
URL /wp-admin/plugins.php?plugin_status=all&paged=1&s
Requested URL /wp-admin/plugins.php?action=activate&plugin=writer-helper%2Fwriter-helper.php&plugin_status=all&paged=1&s&_wpnonce=69a384dd40
Aspect after-activation
HTTP status 200
Load time 0.931 s
Memory usage 3.91 MiB
JS errors None
Resource errors None

Writer Helper

Page screenshot: Writer Helper
URL /wp-admin/admin.php?page=wtr_helper
Aspect menu-item
HTTP status 200
Load time 0.567 s
Memory usage 3.95 MiB
JS errors None
Resource errors None

Writer Helper → My Books

Page screenshot: Writer Helper → My Books
URL /wp-admin/admin.php?page=wtrh_books
Aspect menu-item
HTTP status 200
Load time 0.180 s
Memory usage 3.91 MiB
JS errors None
Resource errors None

Writer Helper → Bookworlds

Page screenshot: Writer Helper → Bookworlds
URL /wp-admin/admin.php?page=wtrh_bookworlds
Aspect menu-item
HTTP status 200
Load time 0.184 s
Memory usage 3.91 MiB
JS errors None
Resource errors None

Writer Helper → My To Do List

Page screenshot: Writer Helper → My To Do List
URL /wp-admin/admin.php?page=wtrh_todolist
Aspect menu-item
HTTP status 200
Load time 0.160 s
Memory usage 3.91 MiB
JS errors None
Resource errors None

Writer Helper → Statistics

Page screenshot: Writer Helper → Statistics
URL /wp-admin/admin.php?page=wtrh_stats
Aspect menu-item
HTTP status 200
Load time 0.351 s
Memory usage 3.91 MiB
JS errors None
Resource errors None

Writer Helper → Users

Page screenshot: Writer Helper → Users
URL /wp-admin/admin.php?page=wtrh_users
Aspect menu-item
HTTP status 200
Load time 0.202 s
Memory usage 3.93 MiB
JS errors None
Resource errors None

Writer Helper → Communities

Page screenshot: Writer Helper → Communities
URL /wp-admin/admin.php?page=wtrh_communities
Aspect menu-item
HTTP status 200
Load time 0.164 s
Memory usage 3.92 MiB
JS errors None
Resource errors None

Writer Helper → Settings

Page screenshot: Writer Helper → Settings
URL /wp-admin/admin.php?page=wtrh_settings
Aspect menu-item
HTTP status 200
Load time 0.178 s
Memory usage 3.96 MiB
JS errors None
Resource errors None

Test site – Just another WordPress site

Page screenshot: Test site – Just another WordPress site
URL /
Aspect front-page
HTTP status 200
Load time 0.245 s
Memory usage 3.75 MiB
JS errors None
Resource errors None

Dashboard ‹ Test site — WordPress

Page screenshot: Dashboard ‹ Test site — WordPress
URL /wp-admin/index.php
Aspect new-meta-boxes
HTTP status 200
Load time 0.311 s
Memory usage 3.94 MiB
JS errors None
Resource errors None

Widgets ‹ Test site — WordPress

Page screenshot: Widgets ‹ Test site — WordPress
URL /wp-admin/widgets.php
Aspect new-sidebar-widgets
HTTP status 200
Load time 2.148 s
Memory usage 5.74 MiB
JS errors
External errors: The following JavaScript errors were probably triggered by WordPress itself, or by compatibility issues in the test runner. They are not related to the plugin.
[
    {
        "message": "TypeError: Cannot read properties of null (reading 'offsetHeight')\n    at t (/wp-includes/js/dist/widgets.min.js?ver=80e98954519d1dad7a91a2248dbc2cc9:7:10419)\n    at IntersectionObserver.n.threshold (/wp-includes/js/dist/widgets.min.js?ver=80e98954519d1dad7a91a2248dbc2cc9:7:10591)",
        "trace": null,
        "code": null
    }
]
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.350 s0.295 s-0.055 s3.72 MiB3.94 MiB+ 218.69 KiB
/wp-admin/edit.php0.186 s0.213 s+0.027 s3.76 MiB3.97 MiB+ 214.38 KiB
/wp-admin/post-new.php0.965 s1.208 s+0.243 s5.55 MiB5.77 MiB+ 223.45 KiB
/wp-admin/upload.php0.440 s0.630 s+0.190 s3.69 MiB3.89 MiB+ 213.96 KiB
/wp-admin/options-writing.php0.153 s0.165 s+0.012 s3.62 MiB3.87 MiB+ 257.87 KiB
/wp-admin/media-new.php0.358 s0.222 s-0.136 s3.66 MiB3.87 MiB+ 214.13 KiB
/wp-admin/edit-tags.php?taxonomy=category0.238 s0.203 s-0.035 s3.69 MiB3.9 MiB+ 215.04 KiB
/wp-admin/post-new.php?post_type=page1.218 s0.968 s-0.250 s5.54 MiB5.75 MiB+ 215.04 KiB
/wp-admin/options-discussion.php0.207 s0.209 s+0.002 s3.6 MiB3.87 MiB+ 278.45 KiB
/wp-admin/edit-comments.php0.208 s0.217 s+0.009 s3.7 MiB3.91 MiB+ 213.98 KiB
/0.270 s0.220 s-0.050 s3.6 MiB3.75 MiB+ 153.88 KiB
Average 0.418 s0.414 s-0.004 s4.01 MiB4.23 MiB+ 219.9 KiB

Code Statistics

Note: Third-party libraries and minified JS/CSS files are excluded from these statistics where possible, so the numbers you see here may be lower than those reported by other tools.

JavaScript
PHP
Language % Lines of code Comment lines Files
JavaScript60.2%31,89914,21110
PHP26.5%14,0282,03983
Markdown5.6%2,97004
PO File5.0%2,6621,9842
CSS2.7%1,43415710
Total 52,993 18,391 109

PHP Code Analysis | More results »

Lines of code 11,099
Total complexity 2,763
Median class complexity 37.0
Median method complexity 2.0
Most complex class WH_Book
Most complex function wtrh_ajax_manageBook()
Classes 36
Methods 455
Functions 88

Additions

Things that the plugin adds to the site. This section is not intended to be comprehensive. The test tool only looks for a few specific types of added content.

Database Tables 7

Options wp_options 7

Sidebar Widgets 7

ID Name
wh_libraryWriter Helper - Library
wh_lastestpubliWriter Helper - Lastest publication
wh_book_summaryWriter Helper - Book's summary
wh_chapter_book_summaryWriter Helper - Book's summary when on a chapter page
wh_book_infoWriter Helper - Book's info
wh_chapter_book_infoWriter Helper - Book's info when on a chapter page
wh_search_bookWriter Helper - Search book field

Meta Boxes

{
    "dashboard": {
        "wtrh_stat_author_dashboard_widget": {
            "title": "Writer Helper - Statistics",
            "context": "normal"
        }
    }
}

PHP Error Log 470 lines

[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: apply changes after update
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: convert old status
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_book' doesn't exist for query SELECT COUNT(*) FROM wp_wtr_book WHERE status > 0 AND status < 10 made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_convertOldStatuses, wtr_getRow
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Trying to access array offset on value of type null in /wp-content/plugins/writer-helper/includes/functions/db_functions.php on line 200
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtr_convertOldStatuses ::  rows to change in wp_wtr_book <br>
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Trying to access array offset on value of type null in /wp-content/plugins/writer-helper/includes/functions/db_functions.php on line 201
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_chapter' doesn't exist for query SELECT COUNT(*) FROM wp_wtr_chapter WHERE status > 0 AND status < 10 made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_convertOldStatuses, wtr_getRow
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Trying to access array offset on value of type null in /wp-content/plugins/writer-helper/includes/functions/db_functions.php on line 208
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtr_convertOldStatuses ::  rows to change in wp_wtr_chapter <br>
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Trying to access array offset on value of type null in /wp-content/plugins/writer-helper/includes/functions/db_functions.php on line 209
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_scene' doesn't exist for query SELECT COUNT(*) FROM wp_wtr_scene WHERE status > 0 AND status < 10 made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_convertOldStatuses, wtr_getRow
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Trying to access array offset on value of type null in /wp-content/plugins/writer-helper/includes/functions/db_functions.php on line 216
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtr_convertOldStatuses ::  rows to change in wp_wtr_scene <br>
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Trying to access array offset on value of type null in /wp-content/plugins/writer-helper/includes/functions/db_functions.php on line 217
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: create metadata table
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: add column bookworld_id and storyboard_id to wtr_book
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_book' doesn't exist for query DESCRIBE wp_wtr_book made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_updateBooksTable
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_book' doesn't exist for query ALTER TABLE wp_wtr_book ADD COLUMN `bookworld_id` bigint(20) NOT NULL DEFAULT 0 made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_updateBooksTable
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_book' doesn't exist for query ALTER TABLE wp_wtr_book ADD COLUMN `storyboard_id` bigint(20) NOT NULL DEFAULT 0 made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_updateBooksTable
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtrh_update_changes :: Table 'wordpress.wp_wtr_book' doesn't exist
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_category' doesn't exist for query SELECT id, element, number, title, description, parent_id FROM wp_wtr_category WHERE element='Settings::Books' ORDER BY number asc made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category::get_BooksSettings, WH_Category::getAll_Categories, WH_DB_Category::getAllDB_Categories, wtr_getResults
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: add book settings nb=0
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_category' doesn't exist for query SELECT id, element, number, title, description, parent_id FROM wp_wtr_category WHERE element='Settings::Books' AND title='Authors' ORDER BY element asc made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category->__construct, WH_DB_Category::getDB_CategoryByTitle, wtr_getResults
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_category' doesn't exist for query SHOW FULL COLUMNS FROM `wp_wtr_category` made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category->save, WH_DB_Category->save, WH_DB_Category->insertDB_Category, wtr_setRow
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtr_setRow :: Request <SHOW FULL COLUMNS FROM `wp_wtr_category`> :: Error message Table 'wordpress.wp_wtr_category' doesn't exist
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: WH_DB_Category::insertDB_Category :: error on insert: Table 'wordpress.wp_wtr_category' doesn't exist
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Array to string conversion in /wp-content/plugins/writer-helper/includes/classes/db_class_activity.php on line 60
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_activity' doesn't exist for query SHOW FULL COLUMNS FROM `wp_wtr_activity` made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category->save, WH_DB_Category->save, WH_DB_Category->insertDB_Category, WH_DB_Activity::addActivity, WH_DB_Activity->save, WH_DB_Activity->insertDB_Activity, wtr_setRow
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtr_setRow :: Request <SHOW FULL COLUMNS FROM `wp_wtr_activity`> :: Error message Table 'wordpress.wp_wtr_activity' doesn't exist
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: WH_DB_Activity::addActivity :: action save WH_DB_Activity KO <WH_DB_Activity Object
(
    [id] => 0
    [user_id] => 1
    [element] => Category
    [element_id] => 0
    [book_id] => 0
    [action] => insert
    [comment] => Array
    [action_seen] => 
    [action_done] => 
    [isOk] => 1
)
>
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtrh_update_changes :: add new category 'Settings::Books' 
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_category' doesn't exist for query SELECT id, element, number, title, description, parent_id FROM wp_wtr_category WHERE element='Settings::Books' AND title='Editors' ORDER BY element asc made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category->__construct, WH_DB_Category::getDB_CategoryByTitle, wtr_getResults
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_category' doesn't exist for query SHOW FULL COLUMNS FROM `wp_wtr_category` made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category->save, WH_DB_Category->save, WH_DB_Category->insertDB_Category, wtr_setRow
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtr_setRow :: Request <SHOW FULL COLUMNS FROM `wp_wtr_category`> :: Error message Table 'wordpress.wp_wtr_category' doesn't exist
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: WH_DB_Category::insertDB_Category :: error on insert: Table 'wordpress.wp_wtr_category' doesn't exist
[01-Oct-2022 19:48:40 UTC] PHP Notice:  Array to string conversion in /wp-content/plugins/writer-helper/includes/classes/db_class_activity.php on line 60
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_activity' doesn't exist for query SHOW FULL COLUMNS FROM `wp_wtr_activity` made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, WH_Category->save, WH_DB_Category->save, WH_DB_Category->insertDB_Category, WH_DB_Activity::addActivity, WH_DB_Activity->save, WH_DB_Activity->insertDB_Activity, wtr_setRow
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtr_setRow :: Request <SHOW FULL COLUMNS FROM `wp_wtr_activity`> :: Error message Table 'wordpress.wp_wtr_activity' doesn't exist
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: WH_DB_Activity::addActivity :: action save WH_DB_Activity KO <WH_DB_Activity Object
(
    [id] => 0
    [user_id] => 1
    [element] => Category
    [element_id] => 0
    [book_id] => 0
    [action] => insert
    [comment] => Array
    [action_seen] => 
    [action_done] => 
    [isOk] => 1
)
>
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtrh_update_changes :: add new category 'Settings::Books'
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: upgrade users
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_users' doesn't exist for query SELECT id, user_id, user_name, role, book_id FROM wp_wtr_users ORDER BY book_id asc, role asc  made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_upgradeUser, wtr_getResults
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: wtrh_update_changes :: drop users columns
[01-Oct-2022 19:48:40 UTC] WordPress database error Table 'wordpress.wp_wtr_users' doesn't exist for query ALTER TABLE wp_wtr_users DROP COLUMN user_name, DROP COLUMN role, DROP COLUMN book_id made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/writer-helper/writer-helper.php'), wtrh_update_changes, wtr_dropUserColumns, wtr_runQuery
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtr_runQuery :: Error on query: ALTER TABLE wp_wtr_users DROP COLUMN user_name, DROP COLUMN role, DROP COLUMN book_id :: args: Array
(
)

[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtr_dropUserColumns :: Error alter wp_wtr_users drop columns<br>
[01-Oct-2022 19:48:40 UTC] WriterHelper :: ERROR :: wtrh_update_changes :: Table 'wordpress.wp_wtr_book' doesn't exist
[01-Oct-2022 19:48:40 UTC] WriterHelper :: INFO :: Writer_Helper::install :: create DB
[01-Oct-2022 19:48:41 UTC] PHP Notice:  Trying to get property 'ID' of non-object in /wp-content/plugins/writer-helper/includes/functions/user_functions.php on line 192
[01-Oct-2022 19:48:42 UTC] WriterHelper :: INFO :: WH_User::isAuthorizedOnWHdashboard :: user_id = 1
[01-Oct-2022 19:48:42 UTC] WriterHelper :: INFO :: WH_User::isAuthorizedOnWHdashboard :: user_id = 1  /  user_roles = Array
(
    [0] => Array
        (
            [role] => Administrator
            [meta] => Array
                (
                )

        )

    [1] => Array
        (
            [role] => Author
            [meta] => Array
                (
                    [meta] => Array
                        (
                            [nbBooks] => -1
                            [useBookworld] => 
                            [nbBookworlds] => 0

(+370 more lines)
See also: All tests for this plugin, How to Hide Writer Helper Admin Menus and Widgets