Wordpress高级自定义字段插件+ Twig模板

时间:2015-05-18 10:06:35

标签: php wordpress forms twig advanced-custom-fields

我正在使用模板Realia创建一个房地产网站。这个主题基于Twig文件,这是我的问题。我有一个前端提交,我们可以添加自定义帖子(属性)。我想在此表单中添加自定义字段。获取并显示该字段的代码已生成并正常工作,因为它位于php文件中;

<?php acf_form_head(); ?>

<?php acf_form( array(
    'field_groups' => array(1943),
    'form'  => false,
) ); ?>

但现在我想保存我的字段和按钮的数据&#34;添加我的属性&#34;在Twig文件中..

这里是按钮代码

      <div class="form-actions">
            {% set value = wp.__('Save', 'aviators') %}
            <input type="submit" class="btn btn-primary" value="{{ value }}">
        </div>
    {% endif %} 

</form>

根据这个documentation,acf代码是acf_form_head(),但我不知道怎么把它放在我的代码中。我尝试{{ acf_form_head() }}{{ wp.acf_form_head() }}和其他一些句子,但没有任何作用......我试图找到&#34; save&#34; this php file上的功能,但我不知道编辑它。

拜托,有人可以帮助我吗?

提前感谢

Jennifer O。

1 个答案:

答案 0 :(得分:2)

据我所知wp-realia主题。

{{ }}

这些标签用于向浏览器或调用方法输出一些内容。 在调用任何函数之前添加 wp。 wp。表示此函数是用户定义的或核心函数。如果你在没有 wp。前缀的情况下调用函数,则表示你正在调用twig模板函数。

{% %}

这些标记用于调用核心树枝函数,例如{% if my_var %}

对于你的场景,你想在头文件中调用acf_form_head()函数来打印头文件中的css / js和必要文件,这样你就可以在head标签的realia / templates / helpers / header.twig文件中创建一个块,例如:

{% block header_block %}{% endblock %}

然后在您的自定义twig模板文件引用中阻止并将您的内容放入其中:

{# we tell our custom template to extends from layout.twig #} 
{% extends 'layout.twig' %}

{# Add acf_form_head() function in our header block #} 
{% block header_block %}
    {{ wp.acf_form_head() }}
{% endblock %}

{# add this content to our content block which is define in layout.twig file #} 
{% block content %}
    {% if wp.have_posts() %}
        {% for post in posts %}
            {{ wp_query.the_post() }}
            My custom field: {{ wp.the_field('my_custom_field') }}
            {{ wp.acf_form() }}
        {% endfor %}
    {% endif %}
{% endblock %}

希望它会对你有所帮助。