WordPress定制器自定义页面

时间:2014-08-25 18:54:37

标签: wordpress

您可以在自定义程序中自定义除主页之外的任何其他页面吗?如果有,怎么样?

自定义程序api在为其创建操作时没有任何方法来输入url。例如:

function mytheme_customize_register( $wp_customize ) {
   //All our sections, settings, and controls will be added here
}
add_action( 'customize_register', 'mytheme_customize_register' );

所以,我问,有办法吗?

3 个答案:

答案 0 :(得分:0)

无论如何,万一你需要它,因为我要出去,你走了:

$admin_bar->add_menu( array(
        'id'    => 'my_page',
        'parent' => 'customize_page',
        'title' => 'My Page',
        'href' => admin_url( 'customize.php?url='. site_url('/my_page/') )
        'meta'  => array(
            'title' => __('My Page'),
            'target' => '_self',
            'class' => 'my_menu_item_class'
        ),

答案 1 :(得分:0)

可以传递url参数,如下所示:

http://example.com/wp-admin/customize.php?url=PREVIEW_URL

一种方法是添加一个直接链接到特定页面的菜单项:

add_action( 'admin_menu', function() 
{
    add_theme_page(
        'Custom customizer', 
        'Custom customizer', 
        'install_plugins', 
        'customize.php?url=' . urlencode('http://EXAMPLE.COM/hello-world/') 
    );
});

答案 2 :(得分:0)

在“自定义程序”窗格中提供自定义选项时,可以更改预览窗格中的URL。例如:在帖子"页面上更改预览的网址"更改,您可以使用以下代码:



// Change the previewed URL to the selected page when changing the page_for_posts.
wp.customize( 'page_for_posts', function( setting ) {
    setting.bind( function( pageId ) {
        pageId = parseInt( pageId, 10 );
        if ( pageId > 0 ) {
            api.previewer.previewUrl.set( api.settings.url.home + '?page_id=' + pageId );
        }
    });
});




使用上述相同的概念,您可以更改预览网址。