首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress小部件:在小部件包装外部呈现Include

Wordpress小部件:在小部件包装外部呈现Include
EN

Stack Overflow用户
提问于 2019-02-08 18:33:09
回答 1查看 39关注 0票数 0

我制作了一个小部件,它可以在小部件区域中包含任何页面部分(.php-file)。问题是所包含文件中的所有内容都呈现在小部件包装器之外(在小部件之前/之后):

Php

代码语言:javascript
复制
function include_php_acf_fields( $params ) {

// get widget vars
$widget_name = $params[0]['widget_name'];
$widget_id = $params[0]['widget_id'];

// bail early if this widget is not a Text widget
if( $widget_name != 'Include Theme PHP-file' ) {

    return $params;

}

// add image to after_widget

$fieldInput = get_field('input-file-name','widget_' . $widget_id);
$fileLocation = get_field('file-location','widget_' . $widget_id);
$trimSlash = ltrim($fieldInput, '/');
$replaceDash = str_replace('/', '_', $trimSlash);
$widgetID = str_replace('.php', '', $replaceDash);

$params[0]['before_widget'] = '<div id="' . $widgetID . '" class="widget cf test">';

if ( $fieldInput ) {    
    if(!is_admin()) {   
        if($fileLocation == 'parent-theme') {
            include(get_template_directory() . $fieldInput);
        } elseif($fileLocation == 'child-theme') {
            $params[0]['after_widget']  = include(get_stylesheet_directory() . $fieldInput);
        }
    }
}
$params[0]['after_widget'] .= '</div>'; 
// return
return $params;

}

代码语言:javascript
复制
// return

呈现的HTML

代码语言:javascript
复制
<div class="posts-wrap cf content-post-gallery">
   <!-- some content -->
</div>
<div id="post-parts_part-archive-artists" class="widget cf test">
  <!-- .post-wrap with content should go here --->
</div>
EN

回答 1

Stack Overflow用户

发布于 2019-02-08 18:47:47

好吧,这是我自己找的问题。它与不能存储在变量中的include函数有关。所以你需要为它创建一个单独的函数:

功能:

代码语言:javascript
复制
function includeToVar($file) {
        ob_start();
        include($file);
        return ob_get_clean();
    }

变量:

代码语言:javascript
复制
$params[0]['after_widget'] = includeToVar(get_stylesheet_directory() . $fieldInput);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54590507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档