The 3rd parameter for the function accepts a private option named __unstableHTML
which if true, then enables HTML in the notice message/content:
createNotice(
\'success\',
\'Post published.<br /> Line 2. Should work in WordPress 5.8.\',
{
__unstableHTML: true, // true = allows HTML; default false
isDismissible: true,
actions: [ ... ],
}
)
However, in the option\'s description (see wp-includes/js/dist/notices.js
, lines 408-412):
/**
* @typedef {Object} WPNotice Notice object.
*
* ...
* @property {string} content Notice message.
* ...
* @property {string} __unstableHTML Notice message as raw HTML. Intended to
* serve primarily for compatibility of
* server-rendered notices, and SHOULD NOT
* be used for notices. It is subject to
* removal without notice.
* ...
*
*/
So use the option at your very own risks..
And I\'m afraid, apart from using that option, there doesn\'t seem to be any other ways to make the new lines work in notice messages rendered via createNotice()
. There\'s the white-space: pre-wrap
trick in CSS, but unfortunately, from what I could tell, \\n
(and its Unicode version — \\u000a
) are stripped from the notice message. :(