如何在x段后显示元值代码

时间:2020-08-30 作者:Giulio

我有一些帖子的自定义字段,其中包含HTML代码。

我想在wordpress循环中的x段之后显示此代码。

我尝试了以下代码,但不起作用。

function prefix_insert_after_para( $ads, $content ) {
    if ( ! is_array( $ads ) ) {
        return $content;
    }

    $closing_p = \'</p>\';
    $paragraphs = explode( $closing_p, $content );

    foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }

        $n = $index + 1;
        if ( isset( $ads[ $n ] ) ) {
            $paragraphs[$index] .= $ads[ $n ];
        }
    }

    return implode( \'\', $paragraphs );
}

add_filter( \'the_content\', \'prefix_insert_post\' );
function prefix_insert_post( $content ) {
    if ( is_single() && ! is_admin() ) {
        $content = prefix_insert_after_para( array(
           //  The format is: \'{PARAGRAPH_NUMBER}\' => \'AD_CODE\',
           
            \'4\' => \'\' . echo get_post_meta(get_the_ID(), \'namevalue\', TRUE) . \'\' ,      
            
        ), $content );
    }

    return $content;
}
这段代码的问题似乎是“echo”。有人能帮我吗?

1 个回复
最合适的回答,由SO网友:Himad 整理而成

目的echo 正在将字符串发送到输出缓冲区。在您的代码中,您将4 调用的结果echo, 不返回任何内容。而且get_post_meta already 返回一个字符串,这样就不必进行类型转换。尝试:

add_filter( \'the_content\', \'prefix_insert_post\' );
function prefix_insert_post( $content ) {
    if ( is_single() && ! is_admin() ) {
        $content = prefix_insert_after_para( array(
           //  The format is: \'{PARAGRAPH_NUMBER}\' => \'AD_CODE\',
           
            \'4\' => get_post_meta(get_the_ID(), \'namevalue\', TRUE),      
            
        ), $content );
    }

    return $content;
}
记住,echo 将立即向输出缓冲区发送一个字符串,这违背了使用WordPress过滤器的目的,因为它们将在以后使用,这就是为什么您在每个过滤器上返回修改后的值。

编辑:

get_the_id 仅当您在WP_Query 环尝试:

 if ( is_single() && ! is_admin() ) {
        global $post;
        $content = prefix_insert_after_para( array(
           //  The format is: \'{PARAGRAPH_NUMBER}\' => \'AD_CODE\',

            \'4\' => get_post_meta($post->ID, \'namevalue\', TRUE),      

        ), $content );
    }

相关推荐

WordPress破解了5.5 admin-ajax.php

我正在使用WordPress主题和插件的最新版本(5.5)。我还有2个自定义编写的附加组件。我尝试了所有我知道的保护方法。wp-config.php wp admin url和admin nick已更改.htaccess 使残废xmlrpc.php 和wp-config.php已安装Wordfence+2FA登录密码重置被阻止MYSQL名称和密码良好</我被黑了。https://prnt.sc/u13mku 请参见照片wp-admin/admin-ajax.php 和wp-login.php你能给我