登录  /  注册
挂钩到 Elementor 中的帖子小部件
P粉268654873
P粉268654873 2023-12-13 13:29:31
[PHP讨论组]

我正在寻找一种方法来连接 Elementor Posts Widget,以便在每个帖子的帖子标题下显示额外的 H2 标签。

然后我将从单个帖子 ACF 字段中获取此 H2 值。

从我读到的其他内容来看,有一些方法可以将输出的整个 HTML 作为字符串获取,但这需要大量的字符串替换,因此不太适合未来。例如: 挂钩到 elementor 小部件吗? https://developers.elementor.com/docs/hooks/render-widget-content/

如果我使用这样的代码,有没有办法将其挂在帖子标题后面?或者字符串替换是解决这个问题的最佳方法?

function change_heading_widget_content( $widget_content, $widget ) {

if ( 'posts' === $widget->get_name() ) {
    $settings = $widget->get_settings();
    $post_id = "Somehow get the post id (maybe look for in the $widget_content string per post?)";

    if ( ! empty( $settings['link']['is_external'] ) ) {
        $widget_content .= '<h2>'. get_field("extra_heading", $post_id) .'<h2>';
    }
}

return $widget_content;

}
add_filter( 'elementor/widget/render_content', 'change_heading_widget_content', 10, 2 );

我感谢所有的帮助。 谢谢

P粉268654873
P粉268654873

全部回复(1)
P粉706038741

如果您深入研究 Elementor Pro 源代码,您会发现一个很好的提示: 动态标签 -> ACF 模块

get_queried_object()

或者试试这个: 动态标签 -> ACF 模块渲染

function get_queried_object_meta( $meta_key ) {
        $value = '';
        if ( is_singular() ) {
            $value = get_post_meta( get_the_ID(), $meta_key, true );
        } elseif ( is_tax() || is_category() || is_tag() ) {
            $value = get_term_meta( get_queried_object_id(), $meta_key, true );
        }

        return $value;
    }

或者只使用 get_field('my-field') 而不使用 $post_id

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号