为英雄形象创建自定义函数

时间:2020-12-16 作者:GilbertOOl

我是php开发的新手,我想创建一个自定义函数

我想创建一个函数来调用与产品同名的图像,但我无法调用产品名称,然后将其放置在图像名称中。你能帮帮我吗。

我的代码:

add_action(\'init\', \'custom_hero_image\');
function custom_hero_image() {
    $result = get_the_title( \'ID\' );
    if ( is_product() ) {
        $html .= \'<img class="jarallax-img" src="\'. get_template_directory_uri() .\'/inc/assets/img/shop/hero/\'.$result.\'.jpg">\';
    } else {
        $html = \'<p>No results found.</p>\';
    }
    return $html;
}
我做错了什么?

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

get_the_title() 返回帖子(产品)标题,包括URL中不允许的所有HTML、空格和符号等。请改用post slug。

此外,您不需要使用任何操作。

function custom_hero_image( $post_id ) {

    $product = get_post( $post_id ); 
    $slug    = $product->post_name;

    if ( is_product( $post_id ) ) {
        $html = \'<img class="jarallax-img" src="\'. get_template_directory_uri() .\'/inc/assets/img/shop/hero/\'.$slug.\'.jpg">\';
    } else {
        $html = \'<p>No results found.</p>\';
    }
    return $html;
}
并调用模板文件中的函数:

<div id="hero">
    <?php
        // get the post ID outside the Loop
        $post_id = get_queried_object_id();
        // print the <img>
        echo custom_hero_image( $post_id );
    ?>
</div>

相关推荐

Functions.php上未定义$_GET和&_REQUEST索引

我最近尝试学习为我的自定义主题创建一个主题选项页面,这是按照stackoverflow和其他资源的教程进行的。但脚本显示错误if ($_GET[\'page\'] == basename(__FILE__)) { if (\'save\' == $_REQUEST[\'formaction\']) { foreach ($options as $value) { if( isset( $_REQUEST[ $value[\'id\']