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

Remove any title attribute from the_shortlink() #8159

Open
wants to merge 3 commits into
base: trunk
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions src/wp-includes/link-template.php
Original file line number Diff line number Diff line change
Expand Up @@ -4247,11 +4247,12 @@ function wp_shortlink_header() {
* Call like the_shortlink( __( 'Shortlinkage FTW' ) )
*
* @since 3.0.0
* @since 6.8.0 Removed title attribute.
*
* @param string $text Optional The link text or HTML to be displayed. Defaults to 'This is the short link.'
* @param string $title Optional The tooltip for the link. Must be sanitized. Defaults to the sanitized post title.
* @param string $before Optional HTML to display before the link. Default empty.
* @param string $after Optional HTML to display after the link. Default empty.
* @param string $text Optional. The link text or HTML to be displayed. Defaults to 'This is the short link.'
* @param string $title Unused.
* @param string $before Optional. HTML to display before the link. Default empty.
* @param string $after Optional. HTML to display after the link. Default empty.
*/
function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd assign null value to $title as in other occurrences in core, for consistency.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would the docblock need to declare both types (string|null) if the default changes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm good question. That's not the case in lazyload_meta_callback() and on the other use cas I found (and some other case don't nullify the value)… maybe we should just keep your base implementation 🤷

$post = get_post();
Expand All @@ -4260,24 +4261,21 @@ function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) {
$text = __( 'This is the short link.' );
}

if ( empty( $title ) ) {
$title = the_title_attribute( array( 'echo' => false ) );
}

$shortlink = wp_get_shortlink( $post->ID );

if ( ! empty( $shortlink ) ) {
$link = '<a rel="shortlink" href="' . esc_url( $shortlink ) . '" title="' . $title . '">' . $text . '</a>';
$link = '<a rel="shortlink" href="' . esc_url( $shortlink ) . '">' . $text . '</a>';

/**
* Filters the short link anchor tag for a post.
*
* @since 3.0.0
* @since 6.8.0 Removed title attribute.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The title attribute isn't removed from the filter, so I don't think this @SInCE reference is needed.

*
* @param string $link Shortlink anchor tag.
* @param string $shortlink Shortlink URL.
* @param string $text Shortlink's text.
* @param string $title Shortlink's title attribute.
* @param string $title Unused.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the context of the filter, I think this parameter should say something like "Custom title attribute. Unused." For any extender wishing to retain the title attribute, this is the relevant documentation.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Custom" could be fine, but I just restored "Shortlink's title attribute."

*/
$link = apply_filters( 'the_shortlink', $link, $shortlink, $text, $title );
echo $before, $link, $after;
Expand Down
Loading