Php 为什么节选()会添加<;p>;当我不允许在摘录中使用表标记时,是否将标记转换为表数据?
我正在开发一个Wordpress主题。我尽量不让表中的任何数据显示在我博客主页上的自动文章摘录中。但是,我允许使用Php 为什么节选()会添加<;p>;当我不允许在摘录中使用表标记时,是否将标记转换为表数据?,php,wordpress,Php,Wordpress,我正在开发一个Wordpress主题。我尽量不让表中的任何数据显示在我博客主页上的自动文章摘录中。但是,我允许使用标记。post页面中表格中的数据没有标记,而是位于标记中。当我查看摘录时,它会在一个可见的大标记下生成所有表数据。我怎样才能防止这种情况发生 如果我把它放在一个手动摘录中,它会覆盖自动显示的内容,所以我对该方法没有问题。但这感觉像是一个解决办法,而我想解决实际问题 另一方面,如果我允许表标签及其所有子项出现在摘录中,它将完全破坏我使用CSS网格的网页的下半部分,将位于网格第3列的边栏
标记。post页面中表格中的数据没有
标记,而是位于
标记中。当我查看摘录时,它会在一个可见的大标记下生成所有表数据。我怎样才能防止这种情况发生
如果我把它放在一个手动摘录中,它会覆盖自动显示的内容,所以我对该方法没有问题。但这感觉像是一个解决办法,而我想解决实际问题
另一方面,如果我允许表标签及其所有子项出现在摘录中,它将完全破坏我使用CSS网格的网页的下半部分,将位于网格第3列的边栏放在其中,这意味着现在总共只有2列。这很奇怪
因此,我主要是想在摘录中不显示任何表格数据,但我想知道是否有人对第二个问题有任何想法,尽管这不是必要的
如果我需要生成代码作为示例,请让我知道我认为需要生成大量代码的代码,事实上,它只能在wordpress中工作,这意味着它在这里不起作用
编辑:添加代码:
PHP函数
//允许在摘录中使用html
function new_wp_trim_excerpt($text) {
$raw_excerpt = $text;
if ( '' == $text ) {
$text = get_the_content('');
$text = strip_shortcodes( $text );
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text, '<blockquote><q><cite><td><a><p><br><ol><ul>
<li>');
$excerpt_length = apply_filters('excerpt_length', 55);
$excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
$words = preg_split('/[\n|\r|\t|\s]/', $text, $excerpt_length + 1,
PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE );
if ( count($words) > $excerpt_length ) {
array_pop($words);
$text = implode(' ', $words);
$text = $text . $excerpt_more;
} else {
$text = implode(' ', $words);
}
}
return apply_filters('new_wp_trim_excerpt', $text, $raw_excerpt);
}
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'new_wp_trim_excerpt');
function new\u wp\u trim\u摘录($text){
$raw_摘录=$text;
如果(''=$text){
$text=获取内容(“”);
$text=strip\u短代码($text);
$text=apply_filters('the_content',$text);
$text=str_replace(']]>',']]]>',$text);
$text=带标签($text,);?>
邮寄人
尝试使用echo获取_摘录()
而不是获取_摘录()
。根据文档,第二种方法在内容周围添加p标记:
在应用多个日志后显示当前日志的摘录
对其进行筛选,包括自动p格式,该格式将变为双精度
换行符分成HTML段落
尝试使用
echo获取_摘录()
而不是获取_摘录()
。根据文档,第二种方法在内容周围添加p标记:
在应用多个日志后显示当前日志的摘录
对其进行筛选,包括自动p格式,该格式将变为双精度
换行符分成HTML段落
在不了解一些代码的情况下很难回答。如何“不允许来自表的数据”?此外,最好能看到示例“输入”(例如,文章内容)、如何调用_摘录以及示例输出(呈现的HTML)。显示代码,不要担心它“不会在此处运行”-我们处理了许多代码无法在SO中直接运行的问题。感谢您的回复。通过“不允许来自表的数据”我想我应该进一步解释一下。我有一个函数,它使我可以在摘录中允许某些标记,如、
- 和其他标记,但没有向其中添加表标记,因此我想实际上只是Wordpress不允许自动添加表标记。我已将该函数添加到我的原始帖子以及ht中我用来调用_摘录()的ml和php。您也可以在上查看正在进行的网站。问题在于,在不了解您的一些代码的情况下,很难回答第一篇文章“示例表”。如何“不允许表中的数据”?此外,最好能看到示例“输入”(例如,文章内容)、如何调用_摘录以及示例输出(呈现的HTML)。显示代码,不必担心它“不会在此处运行”-我们会处理许多代码无法在SO中直接运行的问题。感谢您的回答。通过“不允许来自表的数据”我想我应该进一步解释一下。我有一个函数,它使我可以在摘录中允许某些标记,如、
- 、
- 和其他标记,但没有向其中添加表标记,因此我想实际上只是Wordpress不允许自动添加表标记。我已将该函数添加到我的原始帖子以及ht中我用来调用_摘录()的ml和php。您也可以在上查看正在进行的网站。问题在于第一篇文章“示例表”好的,我已经这样做了。它删除了标记,但内容仍在显示。现在在控制台中,它只显示为无标记文本。您可以在本页上查看我所说的文章作为第一篇“最新新闻”文章:为此,请看一下o允许在你的摘录中使用html标记。这里有一个线索:如果你查看我在原始帖子中的编辑,你会发现我允许使用某些类似于你提到的链接中所述的标记。此外,如果你查看我的网页“忍者表帖子”上的下一篇帖子,该帖子通过插件只包含一个表,并且在e中没有显示任何内容xcerpt。这就是我希望非插件表发挥作用的方式。我刚刚注意到,你的原始答案实际上回答了这篇文章的标题,但我想这不是我问题的最终目的。我希望删除来自表的摘录中的所有内容。我应该更改文章标题吗?啊,我明白了,是的,标题有点误导。我认为您的问题可能与strip_标记有关,请注意,它不会删除正在剥离的标记的内部html。因此,在您的情况下,它会删除标记,但保留内部html。如果您也想删除内容,则需要执行一些结构操作。请参阅:好的,我已经完成了
<div class="latest-news"> <h1>Latest News</h1> </div> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="home-posts-content"> <?php the_title('<h2 class="loop-headers"><a href="' . get_permalink( get_the_ID() ) . '">', '</a></h2>'); ?> <div class="loop-post-meta"> <p><?php echo get_the_date(); ?></p> <p>Posted by <?php the_author(); ?></p> </div> <div class="post-content"> <?php if ( has_post_thumbnail()) : ?> <a href="<?php the_permalink(); ?>" alt="<?php the_title_attribute(); ?>"> <?php the_post_thumbnail(); ?> </a> <?php endif; ?> <?php echo get_the_excerpt(); ?> </div><!--end .post-content--> </div><!--end .home-post-content--> <?php endwhile; else : _e( 'There are currently no posts available.', 'textdomain' ); endif; ?> <div class="loop-pagination"> <div class="prev"> <?php previous_posts_link() ?> </div> <div class="next"> <?php next_posts_link(); ?> </div> </div> </div><!--end .post-container-->