大家好,感谢您的阅读.
环境:
Wordpress +高级自定义字段插件
问题:
我现在已经搜索了几个小时,我似乎无法找到正确的语法来执行以下操作:
发布新帖子时,获取自定义字段值,以便自动用该值替换帖子的标题.示例:我创建了一个帖子并在我的'time'自定义字段中设置'10am'.帖子的标题自动被'上午10点'取代.
例:
所以我添加了一个带有以下内容的过滤器:
add_filter('wp_insert_post_data', 'change_title') ;
function change_title($data)
{
$time = XXX ; // How should I get this custom field value ?
$new_title = 'Topic created at'.$time ;
$data['post_title'] = $time ;
return $data;
}
Run Code Online (Sandbox Code Playgroud)
它必须非常简单,但我已经尝试了WP和插件文档中的所有可用功能.如果路过的人给我解决方案,我将非常感激.
提前致谢 !
所以我的问题是我刚刚创建了一个自定义帖子类型,并创建了几个帖子来配合这个.我在我创建的模板single-post_type.php中使用ACF字段.这些显示在单个帖子上很好,但我需要在单个帖子页面上显示的一些ACF字段值显示在自定义帖子索引上.我试过寻找答案,但似乎无法找到我正在寻找的东西.
作为参考,这是我注册自定义帖子类型的代码:
// Add new post type for Available Homes
add_action('init', 'available_homes');
function available_homes()
{
$available_homes_labels = array(
'name' => _x('Available Homes', 'post type general name'),
'singular_name' => _x('Available Home', 'post type singular name'),
'all_items' => __('All Available Homes'),
'add_new' => _x('Add New Listing', 'recipes'),
'add_new_item' => __('Add New Listing'),
'edit_item' => __('Edit Listing'),
'new_item' => __('New Listing'),
'view_item' => __('View Listing'),
'search_items' => __('Search in Available Homes'),
'not_found' => __('No listings found'),
'not_found_in_trash' => __('No listings found in trash'), …Run Code Online (Sandbox Code Playgroud) 我正在使用的advanced custom field插件Wordpress。我field在页面上显示时遇到困难。
基本上,我已经创建了一个字段组并分配id's给该组的成员。然后,我使用该get_field('field_name')函数将该字段的值存储在变量中,并将echo其存储在屏幕上。然而,这又回来了false。
我也尝试过使用,the_field('field_name')但这会返回null。然后,我在某处阅读如果您尝试访问Wordpress循环之外的字段,则必须将post idas作为参数传递给get_field()/the_field()方法。
我已经尝试过并且结果仍然相同...有人对问题出在哪里有任何想法吗?
这是我的代码:
<?php get_header();
$postID = get_the_ID();
the_field('the-title', $postID); //Nothing being returned...
die();
?>
Run Code Online (Sandbox Code Playgroud) 关于高级自定义字段转发器和选择下拉菜单.我目前有一个围绕汽车的网站.
在wordpress的选项页面中,我有一个转发器块,其中一个文本字段名为"manufacturer",另一个名为"models"作为文本区域字段.
使用模型在每行上填充文本区域,因此在一行中例如:
制造商=奥迪型号= A1 A2 A3 A4等.
在汽车的自定义邮政类型'租赁'我已经为制造商和型号做了2个选择下拉菜单.
我可以按照示例#2代码自动填充制造商:
http://www.advancedcustomfields.com/resources/dynamically-populate-a-select-fields-choices/
工作正常没问题!
然后使用模型下拉选择,仅当制造商选择下拉更改时,然后使用选项页面上的转发器中的模型自动填充它,仅显示基于制造商的模型...
我知道这需要ajax这样做..
我有一个示例代码,我正在测试另一周,我可以让它做我想要的但是当你进入单车时它将是空白,然后当你选择选项,然后保存/更新刷新的屏幕模型选择下拉列表将再次为空白,尽管通过测试显示它已将数据发送到数据库并已保存.
所以我如何解决这个问题,当我保存汽车贴,它不会空白?
这是我正在测试的代码
PHP
function acf_admin_enqueue( $hook ) {
$type = get_post_type(); // Check current post type
$types = array( 'lease' ); // Allowed post types
if( !in_array( $type, $types ) )
return; // Only applies to post types in array
wp_enqueue_script( 'populate-area', get_stylesheet_directory_uri() . '/library/dist/js/acf_select.js' );
wp_localize_script( 'populate-area', 'pa_vars', array(
'pa_nonce' => wp_create_nonce( 'pa_nonce' ), // Create nonce which we later will use to verify …Run Code Online (Sandbox Code Playgroud) javascript php wordpress drop-down-menu advanced-custom-fields
我的团队刚刚改用 acf-json,我们对如何使用 git 的团队处理文件有一些疑问。
\n\n问题基本上是,当 .json 文件显示为已修改时,我们是否应该始终提交它们?如果在拉取后立即同步,每个团队成员是否应该坚持一个习惯?
\n\n最近(在我了解同步不是自动之前)我在同步之前更改了管理中的一些内容。当然,这使得我的 \xe2\x80\x98modified\xe2\x80\x99 日期更新,并且不再选择同步。我们通过从生产服务器生成新的 .json 文件并将本地计算机同步到它们来修复它。问题解决了。
\n\n但是\xe2\x80\xa6 在我同步后,创建了较新的.json,它实际上与我刚刚导入的内容相同,但具有较新的修改日期。\n现在,如果我提交这些文件并且另一个用户同步这些文件,则将不会\xe2\x80\ x99t同样的事情会永远发生吗?
\n\n现在我只会删除而不提交它们,但我\xe2\x80\x99m希望有人可以解释编辑字段组时更加自动化、不那么实际的工作流程。
\n\n谢谢。
\n我做了两页,一个首页和一个"基本内容页面".
在这个"基本内容页面"上,我制作了一个包含不同文本和图像的灵活内容.
我搜索一种显示首页最后一行的方法,是否可能?
更新:这是最后一个代码,由于@Nick Surmanidze,它可以使用"post object field"(名为"relation")从另一个页面获取内容.只留下如何抓住最后一排的问题.
<?php
$post_object = get_field('relation');
if( $post_object ):
// override $post
$post = $post_object;
setup_postdata( $post );
?>
<div>
<?php
// check if the flexible content field has rows of data
if( have_rows('selection') ):
// loop through the rows of data
while ( have_rows('selection') ) :
the_row();
if( get_row_layout() == 'selectionselection' ):
?>
<div class="titre-soustitre">
<div class="menu-content" data-id="id-<?php the_sub_field('id'); ?>">
<p class="demo bis"><span class="sub"> </span></p>
<a href="#" class="expander"><h1><p class="demo title"><?php the_sub_field('title'); ?></p></h1></a>
<p …Run Code Online (Sandbox Code Playgroud) 这个问题在互联网上似乎没有答案,也许是因为这是不可能的.我只是想查询转发器字段"有行"的所有帖子.即
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'repeater_field',
'value' => '',
'compare' => '=!'
)
);
Run Code Online (Sandbox Code Playgroud)
我知道另一种方法是在循环中运行if语句来过滤它们,但是这会混淆一些基于查询中帖子数量的其他逻辑.
有没有人对此有任何想法?
我正在为WooCommerce中的产品构建自定义目标网页,我希望在其他内容中获取产品价格,以便在目标网页上显示它们.
每个登录页面都有一些自定义字段,允许WP管理员添加内容,登录页面以及产品ID,然后将用于生成产品价格,结帐URL等.
我无法wc_get_product();使用我的自定义字段或内置的变量.它仅在我使用直接ID时有效.我认为我不了解变量如何在PHP中运行.这是我的代码.
<?php
//Gets the course ID from the custom field entered by user
$courseID = the_field('course_id');
// This line is where the problem is...
$_product = wc_get_product('$courseID');
// If I replace the line above with this line
// $_product = wc_get_product('7217');
// everything works great, but that does not let
// each landing page function based on the custom fields where the user determines
// the product ID they are selling on that landing page.
// …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种在WordPress多站点上跨站点同步ACF字段的方法.有5个站点具有单独的内容,但它们都使用相同的ACF字段.我宁愿避免在每个站点上手动创建和添加这些新字段.
有解决方法吗?
使用WP 4.8和ACF Pro 5.5.1.4
我正在使用wordpress 4.9.7,我正在使用advanced custom fields 4.4.12.
在我的后端,我有一个被调用的帖子类型coins,它有一个叫做的关系字段related_coins和一个被调用的文本字段algorithm.基本上我的关系字段创建了与自定义帖子类型的关系products.所以产品可以与几个硬币有关系.
我目前只能按帖子类型过滤.但是,我想按algorithm帖子类型的自定义字段进行过滤coin.
我尝试了以下方法:
function graphic_card_products_query( $args, $field, $post_id ) {
$args['meta_query'] = array(
array(
'key' => 'algorithm', // name of custom field
'value' => 'related_coins',
'compare' => 'LIKE'
)
)
// return
return $args;
}
// filter for every field
add_filter('acf/fields/relationship/query/name=related_coins', 'graphic_card_products_query', 10, 3);
Run Code Online (Sandbox Code Playgroud)
基本上我试图得到自定义字段algorithm具有的所有值的列表,并将其作为过滤器选项返回到关系字段related_coin.
目前我什么都没收到.
有什么建议我做错了吗?