我正在尝试更改预览按钮的功能,以便可以将URL更改为我想要的地址。我正在使用下面的代码
function preview_link_fix( $preview_link ){
$mydomain = \'http://localhost:3001/preview\';
$post = get_post( get_the_ID() );
$args = array(
\'post\' => $post,
\'preview\' => \'true\'
);
return add_query_arg( $args, $mydomain );
}
这基本上将预览带到我的react前端页面。对于自定义帖子类型和帖子,只有当它们已发布且草稿中的帖子按钮不起作用,但帖子列表中帖子下方的预览选项起作用时,此选项才起作用。
因此,图像中显示的预览选项起作用,但对于编辑中的预览按钮,发布页面不起作用。请任何人都可以帮我解决这个问题。
SO网友:Nicholas Kimuli
我遇到了同样的问题,经过一些研究,我发现了以下解决方案。
在上下文中,gutenberg上有一个bug,目前还没有特定于平台的方法来更改预览链接。
将以下代码添加到函数中。php:
// Workaround script until there\'s an official solution for https://github.com/WordPress/gutenberg/issues/13998
function fix_preview_link_on_draft() {
echo \'<script type="text/javascript">
jQuery(document).ready(function () {
const checkPreviewInterval = setInterval(checkPreview, 1000);
function checkPreview() {
const editorPreviewButton = jQuery(".editor-post-preview");
const editorPostSaveDraft = jQuery(".editor-post-save-draft");
if (editorPostSaveDraft.length && editorPreviewButton.length && editorPreviewButton.attr("href") !== "\' . get_preview_post_link() . \'" ) {
editorPreviewButton.attr("href", "\' . get_preview_post_link() . \'");
editorPreviewButton.off();
editorPreviewButton.click(false);
editorPreviewButton.on("click", function() {
editorPostSaveDraft.click();
setTimeout(function() {
const win = window.open("\' . get_preview_post_link() . \'", "_blank");
if (win) {
win.focus();
}
}, 1000);
});
}
}
});
</script>\';
}
add_action(\'admin_footer\', \'fix_preview_link_on_draft\');
链接到解决方案:
https://github.com/WordPress/gutenberg/issues/13998#issuecomment-568698680对出资人的所有信贷-Tvanro