自定义PREVIEW_POST_LINK不适用于草稿帖子

时间:2019-02-05 作者:Mohit Nihalani

我正在尝试更改预览按钮的功能,以便可以将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前端页面。对于自定义帖子类型和帖子,只有当它们已发布且草稿中的帖子按钮不起作用,但帖子列表中帖子下方的预览选项起作用时,此选项才起作用。

因此,图像中显示的预览选项起作用,但对于编辑中的预览按钮,发布页面不起作用。请任何人都可以帮我解决这个问题。enter image description here

1 个回复
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