Files
Bookshelf/docs/book-helper-edit-page-spec.md
bdm 38cdebd0c6 Track Bookshelf WordPress theme, plugins and specs
Initial import of the bdmurphy Bookshelf work: the bd-bookshelf theme,
bd-bookshelf-plugin, bd-bookshelfhelper and bd-simpleemail plugins, plus
the specification documents, mockups and release archives.
2026-09-28 06:24:25 -07:00

7.0 KiB

Book Helper Edit Page Specification

Overview

The Book Helper Edit Page is accessed via BD BookShelfHelper > Data Entry in the WordPress admin dashboard. This page allows administrators to enter and edit comprehensive book metadata including titles, blurbs, identifiers, retailer links, ratings, and other book-specific information.

Access

  • URL: /wp-admin/admin.php?page=bd-bookshelf-data-entry
  • Menu Location: BD BookShelfHelper → Data Entry
  • Required Capability: manage_options (typically Administrator role)
  • **bookshelfhelper "book" menu item will list the books in the system and provide an edit button to open the 'bd-bookshelf-data-entry` page.

Page Layout

The edit page uses a tabbed interface for language-specific content. Language is the highest level context. The items like website links can be different with a different language, with sections organized as follows:

Language Tabs (Top of Form)

  • Language selection tabs appear as buttons at the top
  • Active tab highlighted with visual indicator
  • Default language (English) tab pre-selected
  • Each tab shows language code and name (e.g., "EN (English)")

Form Sections (Below Language Tabs)

The form is divided into collapsible sections that can be expanded/collapsed:

Sections

1. Basic Information

Contains core book identification fields:

Field Type Description Requirements
Book Title Text input Full title as appears on book cover Required
Pen Name Dropdown Author/pen name selection Default: "B.D. Murphy (Default)"
Publication Date Date picker Format: YYYY-MM-DD (e.g., 2024-01-15) Optional
Sort Order Number input Manual sort position (lower numbers first) Minimum: 0, Optional

2. Identifiers

Book identification numbers:

Field Type Description Format/Example
ISBN-13 (Print) Text input 13-digit ISBN for print editions 9781234567890 (no dashes)
ASIN (Amazon) Text input Amazon Standard Identification Number B001234567 (10 alphanumeric)
  • **If a language and title is specified the ISBN will default to the English version if no is specified.

3. Language Content (Tabs)

Language-specific content appears in tabs. Each language tab contains:

Field Type Description
Title Text input Book title in this language (if different from default)
Back Cover Blurb Textarea Full description for back cover or product page
Preview Excerpt Textarea Sample text for preview/look inside feature
Pull Quotes (1-5) 5x Text inputs Short quotes for marketing materials

Purchase links for different formats and retailers:

  • **formats are ebook, paperback, hardback, and audiobook.
  • **in each section there will be a button to add a website. The name will be entered and used for the link icon on the detail. The user will enter the purchase page link.
Field Label Description
ebook_url_amazon Amazon (Ebook) Direct link to Amazon Kindle edition
ebook_url_apple Apple Books Link to Apple Books/iBooks edition
ebook_url_google Google Play Link to Google Play Books edition
ebook_url_barnes Barnes & Noble (Ebook) Link to B&N Nook edition
ebook_url_kobo Kobo Link to Kobo edition
  • ** A button will trigger scanning the websites to validate the links.
  • ** The user will have option to change/correct links.
Field Label Description
paperback_url_amazon Amazon (Paperback) Link to paperback edition
paperback_url_barnes Barnes & Noble (Paperback) Link to paperback edition
Field Label Description
hardback_url_amazon Amazon (hardback) Link to hardback edition
hardback_url_barnes Barnes & Noble (Hardback) Link to hardback edition
Field Label Description
audiobook_url_amazon Amazon (audiobook) Link to audiobook edition
audiobook_url_apple Apple (audiobook) Link to audiobook edition
audiobook_url_google Google (audiobook) Link to audiobook edition

5. Ratings

Book ratings from various sources:

  • **The system will scan the websites on a daily basis to update the rating for the books, at each link.
Field Type Description Format/Example
Amazon Rating Text input Average rating from Amazon 4.5 (out of 5)
Goodreads Rating Text input Average rating from Goodreads 4.2 (out of 5)

6. SEO Settings

Search engine optimization fields:

Field Type Description
SEO Title Text input Custom title for search engines (defaults to book title if empty)
SEO Description Textarea Meta description for search results (150-160 characters recommended)

Form Actions

Located at bottom of form:

  • **The save book data button will trigger the creation or update to a book detail page, following the standard detail page definition. The page will have a short URL that links to /book/book-name page.
Button Description
Edit in Standard Editor Link to standard WordPress editor for the book post
Save Book Data (Primary) Saves all book metadata to custom fields
Preview Opens preview of the book in a new tab

Data Storage

All data is stored as post meta associated with the book post:

  • Language-specific fields: title_{language_code}, blurb_{language_code}, preview_excerpt_{language_code}, pull_quote_{language_code}_{number}
  • Identifiers: isbn, asin
  • Publication info: publish_date, sort_order
  • Retailer links for each type of book, ebook, paperback, hardback and audiobook:
  • Ratings: amazon_rating, goodreads_rating
  • SEO: seo_title, seo_description

Validation & Hints

Each field includes:

  • Placeholder text: Shows expected format (e.g., "9781234567890")
  • Hint text: Descriptive help text below field
  • Required indicators: Asterisk (*) for required fields
  • Validation: Client-side validation for format where applicable

Bulk Actions Integration

From this page, administrators can access:

  • Bulk Actions menu to generate missing short link slugs for all books
  • Clear Caches functionality to reset transient data

This edit page works in conjunction with:

  • Short URL System: Generates /book/{slug}/ URLs using short_link_slug meta
  • Book Detail Sidebar Widget: Displays book data on frontend
  • REST API: Book data available via /wp-json/wp/v2/book/{id}/
  • Templates: Data used in single-book.php and archive templates

Dependencies

Requires:

  • BD BookShelfHelper plugin active and initialized
  • Book post type registered
  • Proper user capabilities for editing posts