5

I am trying to add some HTML to the title label in the backend of WordPress.

Attempt 1:

I am using the following (simplified) function:

function change_post_titles() {
    global $post, $title, $action, $current_screen;

    $title = 'foo<br>bar';
}
add_action('admin_head', 'change_post_titles');

This works in the way that the label of the title field is indeed changed, however the HTML tags get encoded afterwards. This mean that the label looks like:

foo<br>bar

Instead of:

foo
bar

Encoded HTML

Attempt 2:

I also tried using a gettext filter, but that just completely filters (removes) the HTML.

add_filter('gettext', 'change_post_titles');
function change_post_titles( $translated_text, $text, $domain ) {
    return $translated_text = 'foo<br>bar';
}

Removed HTML

Is there any way to change the title label (programmatically) in a way I can add HTML?

  • 1
    I don't think so. If you search wp-admin/*.php for add-new-h2 (the class of the button afterwards) you'll see that the pages that use the title always render it as echo esc_html( $title );. – Rup Jul 29 '14 at 17:37
-1
function change_post_titles() {
    global $post, $title, $action, $current_screen;
    $title = "foo<br>bar";
    $title = str_replace('<br>', ' ', $title);
}
add_action('admin_head', 'change_post_titles');

Use this this will give the result you want. Please check it let me know for any doubts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.