我正在尝试将自定义帖子添加到 Wordpress API,其中也有自定义字段。
我可以通过 API 查看自定义帖子类型/wp-json/wp/v2/fruit。
但是自定义字段没有显示,如何将它们添加到 API 中?
在 Woocommerce 中,我尝试向我的产品添加一段自定义元,我想将其传递给订单。
我们有大量的产品,它们负责不同的成本中心,所以我需要产品管理中的一个选择框,我们可以选择将值传递到订单中的成本中心,这不需要由客户查看,但管理员需要在订单中以及每月的订单导出中查看以进行会计处理。
这是我到目前为止所拥有的,这将在产品编辑页面(管理员)中显示选择框:
// Display Fields
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );
function woo_add_custom_general_fields() {
global $woocommerce, $post;
echo '<div class="options_group">';
woocommerce_wp_select(
array(
'id' => '_select',
'label' => __( 'Cost Centre', 'woocommerce' ),
'options' => array(
'one' => __( 'MFEG', 'woocommerce' ),
'two' => __( 'YDIT', 'woocommerce' ),
)
)
);
echo '</div>';
}
// Save Fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );
function woo_add_custom_general_fields_save( $post_id ){
// Select
$woocommerce_select = $_POST['_select'];
if( !empty( $woocommerce_select ) )
update_post_meta( $post_id, '_select', …Run Code Online (Sandbox Code Playgroud) 我在custom / Extension / modules / Calls / Ext / Vardefs中创建了一个自定义字段sugarfield_ast_rec_link_c.php,内容如下:
<?php
$dictionary['Calls']['fields']['ast_rec_link_c'] = array
('name' => 'ast_rec_link_c',
'vname' => 'LBL_AST_REC_LINK_C',
'type' => 'varchar',
'len' => '255',
'source' => 'non-db',
'function' => array('name'=>'getRecordLink',
'returns'=>'html',
'include'=>'custom/modules/Calls/CustomLogic.php')
);
?>
Run Code Online (Sandbox Code Playgroud)
`还在custom / Extension / modules / Calls / Ext / Language中添加语言文件。快速修复后,我的自定义字段不会出现在Studio->通话->字段中。所以我不能把它放在视图上。有人可以帮忙吗?
早上好,
我已经创建了一个自定义帖子类型 - 产品 - 并且对于该自定义帖子类型,我创建了一个自定义字段 - featured_product - 使用高级自定义字段插件.当我创建自定义字段时,我使用True/False字段类型.
我正在尝试仅显示选中featured_product复选框的那些产品帖子.
这是我目前的代码:
<?php query_posts(array(
'posts_per_page' => 3,
'post_type' => 'products',
'orderby' => 'post_date',
'paged' => $paged
)
); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php if(get_field('featured_product')){ ?>
<div id="post-<?php the_ID(); ?>" class="cpt">
<h2><?php the_title(); ?></h2>
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail('excerpt');
}
?>
<?php the_excerpt(); ?>
<ul class="prod_detail">
<li><a href="<?php the_field('product_detail_page'); ?>">Learn More</a></li>
<li><a href="<?php the_field('purchase_link'); ?>">Place Order</a></li>
</ul>
</div>
<?php } …Run Code Online (Sandbox Code Playgroud) 我有一个非常好的工作条件来检查自定义字段是否存在,这是一行:
if (((get_post_meta($post->ID, $my_metakey, TRUE))=='')
Run Code Online (Sandbox Code Playgroud)
但是,正如您所注意到的,只有在元值设置为空时检查元键才有效.
我想知道如何检查数据库中是否已存在自定义字段名称/元键,即使我将元值设置为空或默认为空.
使用Wordpress有一种有效的方法吗?谢谢你的提示.
更新:这个也行不通:
<?php if (strlen(get_post_meta($post->ID, $metakey, true)) > 0) : ?>
Run Code Online (Sandbox Code Playgroud)
因为它类似于检查自定义字段是否为空.
假设我的模型如下.
class Profile(models.Model):
user = models.OneToOneField(User)
middle_name = models.CharField(max_length=30, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
我email在ModelForm中有一个自定义字段如下
class ProfileForm(ModelForm):
email = forms.CharField()
class Meta:
model = models.Profile
fields = ('email', 'middle_name')
Run Code Online (Sandbox Code Playgroud)
在am中设置上述模型的实例,以便在编辑模板的表单中预填充数据,如下所示.
def edit_profile(request):
profile = models.Profile.objects.get(user=request.user)
profileform = forms.ProfileForm(instance=profile)
return render_to_response('edit.html', { 'form' : 'profileform' }, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
现在在表单中,我获得了为Profile模型下的所有字段预填充的所有值,但自定义字段为空,这是有意义的.
但有没有办法可以预先填充自定义字段的值?也许是这样的:
email = forms.CharField(value = models.Profile.user.email)
Run Code Online (Sandbox Code Playgroud) 对于我的wordpress-blog上的每个博客文章,我想要Teaxtarea,我可以传递该帖子的其他内容.
在我的情况下,这将是一个无序列表,其中包含内容的快速概述.
该附加内容应显示在博客预览页面上的帖子预览中.
我的问题:
我实际上不确定如何最好地添加这些额外的内容,然后将其传递给预览.
我是否将wordpress的自定义字段用于此类内容?
我很感激能朝着正确的方向前进.
谢谢你,尼尔斯
我们正在3个国家/地区建立汽车相关业务目录 - 美国,加拿大和墨西哥.
我创建了一个自定义帖子类型"列表",并尝试继续以下内容.
对于各种SEO目的,我们需要特定的URL结构,如下所示:
1)个人列表页面
没什么太花哨的 - domain.com/usa/listing-slug
2)每州档案
没什么太好看的 - domain.com/usa/texas
3)每个城市的档案
这个更有意思,我们需要以下结构:
第一个是俄勒冈州克利夫兰的档案馆,另一个是内华达州克利夫兰的档案馆.
4)每ZIP存档
很平常 - domain.com/usa/05657
5)混合位置类别档案
6)以上所有存档页面的自定义内容(模板),可能是ZIP
我们试图在某种程度上模仿这个网站.
如果你检查一下,比方说,克利夫兰,俄亥俄州克利夫兰和内华达州的同样的例子:http://www.familydaysout.com/kids-things-to-do-usa/cleveland/oh和HTTP://www.familydaysout .com/kids-things-to-do-usa/cleveland/nd你会明白我的意思 - 这些页面在开头就有自定义内容(描述).
以上是每个城市的自定义内容示例.每个州http://www.familydaysout.com/kids-things-to-do-usa/ohio和混合的情况也是如此:http : //www.familydaysout.com/kids-things-to-do-usa/ohio/major-theme-parks http://www.familydaysout.com/kids-things-to-do-usa/cleveland/oh/major-theme-parks http://www.familydaysout.com/kids-things -to-DO-USA/5601 /重大主题,公园
我在添加新列表时可以自动填充位置数据,所以当我粘贴一个完整的地址时,例如"21200 Saint Clair Avenue Euclid,Ohio 44117"并保存我得到这个:
如您所见,国家,州,城市和ZIP都在那里.类别(汽车零件)也作为列表类别.
现在,我如何使用这些值来构建存档的URL和页面/模板?我应该自动将自定义字段值转换为自定义分类法并从那里开始吗?我知道我可以使用https://codex.wordpress.org/Plugin_API/Action_Reference/save_post和https://codex.wordpress.org/Function_Reference/wp_set_object_terms来做到这一点
我知道自定义分类法可以有描述,我知道如何输出这些描述.除此之外,分类法可以是等级的,所以我可以将俄亥俄州和内华达州作为父母,每个克利夫兰作为他们的孩子.
所以我正处于收集和存储所有信息位的位置,但不知道如何开始操作它们来实现上述模型.
问题1:我应该在哪里存储位置数据(国家,州,城市,邮编),以便能够在URL中使用它,如上所述?自定义字段或分类术语?
Q2:如何以我可以为他们自定义模板的方式构建存档页面/模板?
任何其他有用的提示将受到高度赞赏.
wordpress permalinks wordpress-theming custom-fields custom-taxonomy
我已经使用此过程为我的WooCommerce注册添加了自定义字段.我已使用以下操作在"我的帐户"编辑页面上将它们设置为可用:
// added custom fields here
add_action( 'woocommerce_edit_account_form', 'my_woocommerce_edit_account_form' );
// saved user meta here
add_action( 'woocommerce_save_account_details', 'my_woocommerce_save_account_details' );
Run Code Online (Sandbox Code Playgroud)
在两者之间,我需要在编辑时验证这些字段.我尝试使用woocommerce_process_myaccount_field_过滤器(如此处所述),但这不起作用.保存更改时,其中的代码不会触发.
关于如何验证的任何想法?
我使用的是正确的过滤器吗?
如果是,为什么不触发?
谢谢.
我的问题:如何在Woocommerce my-account/edit-account/页面中添加手机字段(相关模板:form-edit-account.php文件)
就像在以下答案中一样:
在WooCommerce我的帐户>帐户详细信息中保存自定义现场电话号码的值
但是,由于缺少一些挂钩函数,因此此答案代码不完整。感谢您提供任何帮助以完成某些事项,这意味着现场显示。
custom-fields ×10
wordpress ×8
php ×3
woocommerce ×3
account ×1
blogs ×1
django ×1
modelform ×1
orders ×1
permalinks ×1
python ×1
sugarcrm ×1