如何在函数中调用ACF字段?

时间:2020-01-03 作者:Anthony G

我正在一个网站上工作,试图修复他们如何设置元标签,但遇到了一些麻烦。

当前的设置方式是将所有页面的og:image设置为徽标。我想要两种帖子类型(post-1和post-2)来显示它们各自通过ACF包含的图像。

请参见下面的外观。

 <?php
function insert_fb_in_head() {
global $post;
if ( !is_singular())
return;
echo \'<meta property="og:title" content="\' . get_the_title() . \'"/>\';
echo \'<meta property="og:type" content="article"/>\';
echo \'<meta property="og:url" content="\' . get_permalink() . \'"/>\';
echo \'<meta property="og:site_name" content="NewWays"/>\';
if(!has_post_thumbnail( $post->ID )) {
$default_image="https://logoURLgoeshere";
echo \'<meta property="og:image" content="\' . $default_image . \'"/>\';
}
else{
$thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'medium\' );
echo \'<meta property="og:image" content="\' . esc_attr( $thumbnail_src[0] ) . \'"/>\';
}
echo "
";
}
add_action( \'wp_head\', \'insert_fb_in_head\', 5 ); 
?>
他们在“is\\u singular”和“has\\u post\\u thumbnail”中用感叹号进行设置,网站上的每个页面最终都会得到为meta编写的代码。

对于非post-1和post-2页面,我可以使用它,但是如何添加另一个if语句来将图像作为og:image的元来编写呢?

我试图添加这个,但没有帮助。有人有什么想法吗?

function insert_og_image() {
if ( is_singular( \'post-1\', \'post-2\'))
$featuredImage = get_field(\'image\');
echo \'<meta property="og:image" content="\' . $featuredImage . \'"/>\';
}

2 个回复
SO网友:Dan Sutherland

您可以使用(&A)&;for AND or can us | | for or so if语句将是if(is\\u singular(\'post-1\')| | is\\u singular(\'post-2\'){};

SO网友:Will Ashworth

试试这个。我在条件的外部检查您想要的情况,然后像以前一样退回到其他(旧)行为。这是站点范围内其他地方发生问题的可能性最小的,同时也考虑到了您的特殊情况。

<?php
function insert_fb_in_head() {
    global $post;

    if ( !is_singular())
    return;

    echo \'<meta property="og:title" content="\' . get_the_title() . \'"/>\';
    echo \'<meta property="og:type" content="article"/>\';
    echo \'<meta property="og:url" content="\' . get_permalink() . \'"/>\';
    echo \'<meta property="og:site_name" content="NewWays"/>\';

    if(is_singular(array(\'post-1\', \'post-2\'))) {
        $featuredImage = get_field(\'image\');
        echo \'<meta property="og:image" content="\' . $featuredImage . \'"/>\';
    }else{
        if(!has_post_thumbnail( $post->ID )) {
            $default_image="https://logoURLgoeshere";
            echo \'<meta property="og:image" content="\' . $default_image . \'"/>\';
        }else{
            $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'medium\' );
            echo \'<meta property="og:image" content="\' . esc_attr( $thumbnail_src[0] ) . \'"/>\';
        }
    }

    echo "
    ";
}
add_action( \'wp_head\', \'insert_fb_in_head\', 5 ); 
希望这有帮助。祝你好运!

相关推荐