在函数.php中使用Add_Filter包含内联自定义域信息

时间:2011-09-16 作者:George C

我设置了一个函数,可以在每个帖子中放置一些标准文本,用于自定义帖子类型。然而,在这个标准文本中,我想从几个自定义字段中提取一些独特的文本。不确定我的代码有什么问题:

function default_content($content) {
  global $post;
  if ($post->post_type == \'my-custom-post-type\') {
    $content .= \'<p style="text-align: center;"><strong>Custom Field Text here: <?php echo get_post_meta( get_the_ID(), \\\'custom-field-1\\\', true )</strong></p>
    <p style="text-align: center;"><a href="http://myblog.com/?checkout=<?php echo get_post_meta( get_the_ID(), \\\'custom-field-2\\\', true )">Link 01</a></p>\';
  }
  return $content;
}
add_filter(\'the_content\', \'default_content\', 0);

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

您正在尝试在变量中进行回显。您还将PHP标记封装在字符串中。您需要像这样连接函数本身:

    function default_content($content) {
        global $post;

        if ($post->post_type == \'my-custom-post-type\') {
            $content .= \'<p style="text-align: center;"><strong>Custom Field Text here: \'. get_post_meta( $post->ID, "custom-field-1", true ).\'</strong></p>
                         <p style="text-align: center;"><a href="http://myblog.com/?checkout=\' . get_post_meta( $post->ID, "custom-field-2", true ).\'">Link 01</a></p>\';
        }
        return $content;
    }
    add_filter(\'the_content\', \'default_content\', 0);
此外,您正在调用全局$post,因此请使用$post->ID而不是get\\u the\\u ID()。

干杯

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴