Codeinwp / Codeinwp/neve

Consistent 'Read More' button and styling for manual post excerpts

Open
#4,509 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

customer report feature-request-triage
Dominant language
PHP
Stars
306
Forks
88
Avg merge
2d 16h
Merged PRs (30d)
12

Description

Impact: 60 · Confidence: 95 · Complexity: 40

Description

Problem

Currently, Neve's Customizer settings for "Excerpt Length" and the "Read More" button only apply to auto-generated excerpts. Posts that use manually written excerpts bypass these settings because native WordPress outputs manual excerpts exactly as written without the excerpt_more string. This causes an inconsistent user interface on blog archives, as posts with manual excerpts skip the excerpt length limits and are missing the "Read More" call to action.

Desired Behavior

The Customizer's "Read More" button and excerpt styling should apply uniformly to all posts on the archive page, regardless of whether the excerpt was auto-generated from content or manually entered.

Acceptance Criteria
  • Detect cases where a manual excerpt is being used on an archive layout (has_excerpt()).
  • Ensure the theme-configured "Read More" button is successfully appended to custom manual excerpts.
  • Enhance excerpt output to gracefully handle trimming manual excerpts when they exceed the Customizer Excerpt Length (or provide clear logic separating visual read more buttons from strict truncation).

Customer Context

The customer is a business plan user complaining that their blog archive has an inconsistent layout. Posts where they have specifically added a manual custom excerpt do not get truncated according to the Customizer settings, and they are completely missing the 'Read More' button, breaking the archive's visual consistency.

Root Cause Analysis

The root cause is a gap between WordPress's native excerpt behavior and user expectation for theme settings. WordPress's the_excerpt() naturally outputs custom (manual) excerpts as absolute, ignoring excerpt_length limitations and failing to trigger the excerpt_more filters (which usually add 'Read More' buttons). The user expects the theme Customizer's excerpt settings to govern ALL archive outputs blindly, leading to frustration when manual excerpts render inconsistently against auto-generated ones.

Alternative Suggestions

Instead of adding a new feature, update the existing blog archive rendering logic to better handle has_excerpt(). The logic should automatically append the Customizer's 'Read More' button HTML to manual excerpts so that the call-to-action is visually consistent across all posts. Additionally, consider introducing a toggle to enforce the Customizer excerpt length limit on manual excerpts as well, unifying the archive layout without removing the user's ability to input manual text.

Reasoning

The issue is caused by standard WordPress behavior where manual excerpts bypass length truncation and the 'excerpt_more' filter used for the 'Read More' button. Since this results in an inconsistent archive layout, we don't need to build a net-new feature, but rather improve existing archive rendering logic so that Customizer 'Read More' and length settings apply consistently to both auto and manual excerpts.


Source: HelpScout #3340953321
Generated by feature-request-triage workflow (ID: feature-request-triage_6a1dc8bd7fed15.02128843)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating Neve's blog archive excerpt rendering and the Customizer settings for Excerpt Length and the Read More button. Compare archive output for posts with manual excerpts against auto-generated excerpts, then verify that manual excerpts receive the configured button and the agreed trimming behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
frontend, web-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
57/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.