Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevent empty author links in Posts list tables #8488

Open
wants to merge 4 commits into
base: trunk
Choose a base branch
from

Conversation

faisal-alvi
Copy link

@faisal-alvi faisal-alvi commented Mar 11, 2025

Trac ticket: https://core.trac.wordpress.org/ticket/62913

Description:

This PR addresses an issue in the Posts List Table where posts without an assigned author display an empty author column. A similar fix is already applied to the Media List Table (#8271), but the issue also affects other list tables.

Changes Made

• Added a fallback text (— no author) when get_the_author() returns an empty string.
• Ensured get_the_author_meta( 'ID' ) is only used when get_the_author() is not empty, preventing invalid author links.
• Mirrors the approach taken in the Media List Table fix for consistency.

This aligns with feedback from @joedolson on https://core.trac.wordpress.org/ticket/62913#comment:5, where he suggested extending the fix to all list tables, not just the Media List Table.

Testing Instructions

Check the comment below.


This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

Copy link

github-actions bot commented Mar 11, 2025

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props faisal03, audrasjb, sumitbagthariya16.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@faisal-alvi
Copy link
Author

faisal-alvi commented Mar 11, 2025

Testing Instructions

  1. Log in to the WordPress admin panel.
  2. Navigate to Posts → Add New and create a new post.
  3. Assign an existing user as the post’s author.
  4. Publish the post.
  5. Go to Posts → All Posts.
  6. Verify that the Author column displays the correct author name.
  7. Click on the author name and ensure it links to the correct author archive.
  8. Create a new post and assign it to a test user.
  9. Navigate to Users → All Users and delete the test user.
  10. Choose the option that removes the user but keeps their posts OR use UPDATE wp_posts SET post_author = 0 WHERE post_type = 'post' LIMIT 1; query to reset the author.
  11. Go to Posts → All Posts.
  12. Verify that the Author column shows — no author instead of being empty.

Copy link

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • The Plugin and Theme Directories cannot be accessed within Playground.
  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

@qasumitbagthariya
Copy link

QA Test Report

I tested this PR using the following query to reset the author:

UPDATE wp_posts SET post_author = 0 WHERE post_type = 'post' LIMIT 1;

After running the query and removing the author from the post, I noticed that a dash (-) sign appears in place of the author name.

Before
image

After
image

Testing Environment

  • WordPress: WordPress 6.8-beta1
  • PHP: 8.2.
  • Web Server: Nginx 1.20.2
  • Browser: Chrome
  • OS: macOS 15.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants