高级自定义域中的随机p标记?

时间:2016-08-03 作者:Grant Smith

在本页上,http://www.sandfordparkslido.org.uk/events-5/ 和其他人。我创建了一个带有高级自定义字段的自定义字段,这样用户就可以自己填充侧栏的内容,而无需离开他们正在处理的wordpress页面。

然后,使用<?php the_field("sidebar_content"); ?>.

这很好,但是,我在代码的开头和结尾得到了一些段落标记?这使得所有的东西都很不协调,所以我想把它们处理掉?

问题是,它们来自哪里,以便我可以删除它们?

enter image description here

2 个回复
SO网友:Megan Rose

问题是WordPress的wpautop() 滤器以下是ACF的建议:https://support.advancedcustomfields.com/forums/topic/removing-paragraph-tags-from-wysiwyg-fields/

这是一种正常的WP行为–将所有新行转换为段落标记。

若要删除此项,可以尝试在不使用任何格式的情况下加载值。您可以通过在get\\u字段/the\\u字段函数中为format参数提供“false”来实现这一点,如下所示:

\\u字段(“所见即所得字段”,false,false);

希望这有帮助。

因此,只需将您的线路改为:

<?php the_field("sidebar_content", false, false); ?>

Update:我在下面的帖子中看到,他们实际上说你可以用这行代码删除过滤器:

remove_filter (\'acf_the_content\', \'wpautop\');

SO网友:Iggy

如果字段中不需要任何块格式,请使用false. 它仍将允许内部跨距:

<?php the_field("sidebar_content", false, false); ?>
如果您想在模板中只允许特定的标记,如分隔符,可以使用以下代码:

<?php 
            // remove tags except span and br
            $top_title = get_field(\'top_title_plus\');
            $formatted_top_title = strip_tags( $top_title, \'<span><br>\');

            if( $formatted_top_title ) : ?>
                <h1 class="entry-title"><?php echo $formatted_top_title; ?></h1>
            endif; ?>

相关推荐