如何使用相同的自定义页面模板iFrame多个URL,并从后端输入新的URL

时间:2019-03-03 作者:Troy

我正在使用此自定义页面模板构建多个URL。目前,我已经为每个新url创建了一个新的自定义页面。我希望能够使用相同的通用自定义页面模板,并能够从仪表板输入新的url。如果不为我要输入的每个新URL创建新的自定义页面,最简单的方法是什么。?如有任何建议,将不胜感激。

标题正文{边距:0;}iframe{宽度:100%;高度:100%;边框:0;位置:绝对;}

1 个回复
SO网友:tmdesigned

有几种方法可以满足您的需求。我想到的两个简单的方法是post-meta(可能使用插件来简化)和自定义短代码。

Post meta允许您关联不同的;“元”;每个帖子的数据。因此,对于这种方法,您可以创建一个新的元字段(“iframe\\u url”)。然后在每个页面上,只需输入该meta键的meta值。在页面模板上,引用该元值,每个页面的元值都不同。

您可以在没有插件的情况下获取和设置post meta,但许多开发人员使用插件来实现这一点,因为它增加了灵活性(即创建复杂的数据层次结构)和易用性。我最熟悉的一个是高级自定义字段,即使在免费版本中,它也能发挥大部分功能。有一个GUI可以创建字段并将其分配给页面,在代码中引用值非常简单get_field( \'iframe_url\' )

自定义短代码

对于位于内容区域且相对简单的动态数据,可以创建自定义短代码来存储url。在您的帖子内容中,它可能看起来像:

[customframe url="http://myiframecontent.com"][/customframe]
然后在你的函数中。php或其他地方,您可以告诉WordPress在找到该短代码时如何处理它。例如:

function wpse330544_iframe_shortcode( $atts ) {
    
    $args = shortcode_atts( 
        array(
            \'url\'   => \'\'   //default value, just to show the technique
        ), 
        $atts
    );

    $url = esc_attr( $args[\'url\'] );
     
    return "<iframe src=\'$url\' />";
}
add_shortcode(\'customframe\', \'wpse330544_iframe_shortcode\');
它实际上就像定义一个函数来处理动态内容一样简单。在该函数中,我们首先提取参数(您只有一个“url”),然后,我们准备将其安全插入HTML属性(esc\\u attr),然后返回填充的动态HTML,WordPress将其替换为您的短代码。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register