如何解决有没有办法在自定义程序文本区域中输入自定义代码?
我正在研究 wordpress 主题。我希望用户能够通过 wordpress 定制器输入广告代码。所以我有以下代码来创建部分、设置和控制。
// ADS panel/section
$wp_customize->add_section( 'ads_code',array(
'title' => __( 'ADS','ramet' ),'panel' => 'article_panel',//select the panel for it to appear under
)
);
//add setting and control To allow user input ads code
$wp_customize->add_setting( 'ads_code_input',array(
'default' => '','type' => 'theme_mod','transport' => 'postMessage',)
);
$wp_customize->add_control( 'ads_code_input',array(
'label' => __( 'Ads Code','description' => esc_html__( 'Paste Your ads code in the text field.' ),'type' => 'textarea','section' => 'ads_code','settings' => 'ads_code_input',//pick the setting it applies to
'capability' => 'edit_theme_options',// Optional. Default: 'edit_theme_options'
'input_attrs' => array( // Optional.
'class' => 'my-custom-class','style' => 'border: 1px solid #999','placeholder' => __( 'Enter ad code...' ),),)
);
在此之后,我继续将以下代码集添加到functions.PHP 中。 这组代码是为了在帖子的第三段之后输出广告代码。
//Insert ads after third paragraph of single post content.
add_filter( 'the_content','prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
//variable to hold the inputed code.
$ad_code = get_theme_mod( 'ads_code_input' );
if ( is_single() && ! is_admin() ) {
return prefix_insert_after_paragraph( $ad_code,3,$content );
}
return $content;
}
// Parent Function that makes the magic happen
function prefix_insert_after_paragraph( $insertion,$paragraph_id,$content ) {
$closing_p = '.</p>';
$paragraphs = explode( $closing_p,$content );
foreach ($paragraphs as $index => $paragraph) {
if ( trim( $paragraph ) ) {
$paragraphs[$index] .= $closing_p;
}
if ( $paragraph_id == $index + 1 ) {
$paragraphs[$index] .= $insertion;
}
}
return implode( '',$paragraphs );
}
如您所见,在函数 prefix_insert_post_ads( $content ) 中,我有一个名为 $ad_code 的变量,用于从用户那里获取输入的代码。 这个变量是应该在第三段之后输出的。
我通过自定义程序放入一些脚本标记,继续为我自己测试它。 但是输入的代码输出为计划文本。
我不知道是否有办法确保输入代码在浏览器上运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。