如何更正我在函数文件中编码的自定义字段的致命错误?

时间:2015-10-09 03:31:42

标签: wordpress function genesis

我正在使用 Genesis 和一个儿童主题。

我已阅读WordPress Codex中的文章并浏览了几篇博文,但我找不到解决方案。我按照StackOverflow中的答案,但我想知道我是否首先需要激活自定义字段。我没有做任何事情,除了创建键和值,并将以下代码添加到我的functions.php文件。

这些是关键:问题链接。这个想法是在每篇博客文章末尾向我的博客读者提出一个与内容相关的问题,以及要显示为链接的问题。该链接将把读者带到我为该博客帖子创建的Facebook页面。它基本上是一个异地评论系统。

这是我正在使用的代码:

add_action('genesis_entry_content', 'moose_question');
 function moose_question() {
     $question = get_field('question', $post_id);
     $link = get_field('link', $post_id);
     echo '<div class="moose-question">';
     echo '<a href="$link">$question</a>';
     echo '</div>';
    }

get_field是否使用正确的电话?需要$post_id吗?它似乎只是因为它被放置在博客文章循环中,它应该知道抓住当前的帖子。

另外,我认为你不能简单地将$question塞进链接中。有没有不同的方式写这个?

这可能是我不知道我不知道的情况之一,这使得找到答案具有挑战性。感谢您提供的任何见解。

2 个答案:

答案 0 :(得分:0)

Pass post id in function 
add_action('genesis_entry_content', 'moose_question');
 function moose_question($post_id) {
     $question = get_field('question', $post_id);
     $link = get_field('link', $post_id);
     echo '<div class="moose-question">';
     echo '<a href="$link">$question</a>';
     echo '</div>';
    }

答案 1 :(得分:0)

我们取得了成功。我现在可以使用我创建的第二个键中的URL输出密钥作为链接问题。

在此过程中我遇到了一些挑战。

1)由于没有添加第二个正斜杠,我无意中评论了我的函数及其后的所有内容。咄。

2)我在创建密钥时大写了密钥,但是我没有在函数中大写问题。一旦我纠正了这个,这个功能就起作用了。

我了解到您可以直接在自定义字段值框中添加HTML。但是在下面的这个更新的代码中,我现在有一个更整洁的方法来做到这一点。谢谢你,Brad Dalton和来自WordPress论坛的Bob。拼凑在一起时,你帮助我解决了这个问题。

add_action('genesis_entry_content', 'moose_question');
function moose_question() {
if ( !is_page() ) {

$question = get_post_meta( get_the_ID(), 'question', true );
$link = get_post_meta( get_the_ID(), 'link', true );

if( ! empty( $question ) ) {

echo '<div class="moose-question">';
echo '<a href="'.$link.'" target="_blank">'.$question.'</a>';
echo '</div>';

}}}