我正在使用自定义 WordPress 短代码向我的内容添加模式。模式的内容基于自定义帖子类型。
短代码如下所示:
[term value="Custom Link Title" id="123"]
value=""
参数是针对内容中的模态链接。这id=""
是自定义帖子类型的 ID。
在模态对话框窗口中,我根据其 ID 显示来自自定义帖子类型的内容。
问题是,链接和模态对话框是一起输出的。并且由于<div>
模态,WordPress<p>
会在它之前关闭每个。现在在模态链接之后有一个不需要的换行符。
有没有办法在内容区域显示模态链接并将模态对话框(<div>
)放在页面的页脚中?
这是我的简码:
add_shortcode('btn', 'bs_button');
// [term value="" id=""]
function shortcode_term($atts) {
extract(shortcode_atts(array(
'id' => '',
'value' => '',
), $atts));
$modal_term = '<a href="#termModal_'.$id.'" class="" data-toggle="modal" data-target="#termModal_'.$id.'">'.$value.'</a>';
$modal_dialog = '<div class="modal fade" id="termModal_'.$id.'" tabindex="-1" role="dialog" aria-labelledby="termModal_'.$id.'_Title" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="termModal_'.$id.'_Title">'.get_the_title($id).'</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="icon-remove"></i></button>
</div>
<div class="modal-body">
'.get_post_field('post_content', $id).'
</div>
</div>
</div>
</div>';
return $modal_term.$modal_dialog;
}
add_shortcode('term', 'shortcode_term');
如果$modal_term
停留在内容中并$modal_dialog
转到页面的页脚,那就太好了。
或者有没有其他方法可以防止 WordPress</p>
在模态对话框之前添加一个?
这是前端发生的事情:
<p style="text-align: center;">noraml text from the editor <a href="#termModal_123" class="" data-toggle="modal" data-target="#termModal_123">Custom Link Title</a></p>
<div class="modal fade" id="termModal_123" tabindex="-1" role="dialog" aria-labelledby="termModal_123_Title" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="termModal_123_Title">Term Title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="icon-remove"></i></button>
</div>
<div class="modal-body">
<h2>Head</h2>
Term Content
</div>
</div>
</div>
</div>
Rest of the normal Text from the editor
</p>
之后的灵魂<a href="">..</a>
不在那里。