如何为每个岗位制作特殊的模式

时间:2018-12-23 作者:Eli

我的主题有一个选项,在每个帖子中都有一个按钮,我可以给它一个链接。但是我想通过点击这个按钮打开一个模式,并能够修改每个帖子中的模式。这意味着每个帖子都有一个特殊的模式。有可能吗?

2 个回复
SO网友:wpdev

是的,这是可能的。我认为您正在使用引导模式。看起来是这样的:Bootstrap Modal

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
    Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                ...
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
</div>
现在你看到它与特殊ID 和特别data-target 因此,您必须为每个模式指定特殊的ID和数据目标。

让我们使用特殊模态创建新查询。

<?php
// Custom WP query query
$args_query = array(
    \'order\' => \'DESC\',
);

$query = new WP_Query( $args_query );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) :
        $query->the_post(); ?>
        <!-- Button trigger modal -->
        <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal-<?php echo esc_attr( get_the_ID() ); ?>">
            Open "<?php the_title(); ?>" Modal
        </button>

        <!-- Modal -->
        <div class="modal fade" id="exampleModal-<?php echo esc_attr( get_the_ID() ); ?>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">
                        <?php the_content(); ?>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                        <button type="button" class="btn btn-primary">Save changes</button>
                    </div>
                </div>
            </div>
        </div>
<? endwhile; } else {
    echo \'No posts found\';
}
wp_reset_postdata();

?>

SO网友:Matt Cromwell

我建议创建一个独特的短代码来输出按钮和模式。我最近用火山口的形式做了一些非常相似的事情。我想在表单输出之前,输出带有一些附加标题和上下文内容的表单。

我写了一篇关于创建该短代码的教程,这里有一个实例:https://www.mattcromwell.com/contexual-optins-with-caldera-forms/

如果您对此进行了回顾并提出了问题,欢迎您回答任何后续问题。