Php 为什么节选()会添加<;p>;当我不允许在摘录中使用表标记时,是否将标记转换为表数据?

Php 为什么节选()会添加<;p>;当我不允许在摘录中使用表标记时,是否将标记转换为表数据?,php,wordpress,Php,Wordpress,我正在开发一个Wordpress主题。我尽量不让表中的任何数据显示在我博客主页上的自动文章摘录中。但是,我允许使用标记。post页面中表格中的数据没有标记,而是位于标记中。当我查看摘录时,它会在一个可见的大标记下生成所有表数据。我怎样才能防止这种情况发生 如果我把它放在一个手动摘录中,它会覆盖自动显示的内容,所以我对该方法没有问题。但这感觉像是一个解决办法,而我想解决实际问题 另一方面,如果我允许表标签及其所有子项出现在摘录中,它将完全破坏我使用CSS网格的网页的下半部分,将位于网格第3列的边栏

我正在开发一个Wordpress主题。我尽量不让表中的任何数据显示在我博客主页上的自动文章摘录中。但是,我允许使用
标记。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-->