我有一个非常好的工作条件来检查自定义字段是否存在,这是一行:
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)
因为它类似于检查自定义字段是否为空.
这与此相关:在$(window).load()函数内运行jQuery,但不在$(document).ready函数内运行
在我使用之前:
jQuery( document ).ready( function( $ ) {
Run Code Online (Sandbox Code Playgroud)
加载我的jQuery UI位置代码,但我决定尝试加载使用:
jQuery(window).load(function($) {
Run Code Online (Sandbox Code Playgroud)
现在我收到一个错误:
Uncaught TypeError: object is not a function
Run Code Online (Sandbox Code Playgroud)
这是我更改之前的代码:
<script type='text/javascript'>
jQuery( document ).ready( function( $ ) {
var element_selector='.test';
if ( $(element_selector).length !== 0) {
var divname515e62e8355b0 = '#test_selector';
$(divname515e62e8355b0).children().wrapAll('<div class="mydoc cf">');
//jQuery UI Position code here
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是我改变后的代码:
<script type='text/javascript'>
jQuery(window).load(function($) {
var element_selector='.test';
if ( $(element_selector).length !== 0) {
var divname515e62e8355b0 = '#test_selector';
$(divname515e62e8355b0).children().wrapAll('<div class="mydoc cf">');
//jQuery UI Position code here …Run Code Online (Sandbox Code Playgroud) 我瞄准这个div后添加HTML(使用jQuery之后):
<div class="wpv-setting-container wpv-setting-container-horizontal wpv-settings-layout-markup js-wpv-settings-layout-extra">
Run Code Online (Sandbox Code Playgroud)
由于某些原因,由于应用程序的技术要求,我被迫使用该类wpv-settings-layout-markup.但是,还有另一个div包含这个类,但它隐藏了:
<div style="display:none;" class="wpv-settings-templates wpv-setting-container wpv-setting-container-horizontal wpv-settings-layout-markup" id="attached-content-templates">
Run Code Online (Sandbox Code Playgroud)
现在,当我在jQuery方法之后使用类名时,它被添加到可见和不可见的div中.
$(".wpv-settings-layout-markup").after('data here');
Run Code Online (Sandbox Code Playgroud)
我该如何修改这个选择器:
$(".wpv-settings-layout-markup")
Run Code Online (Sandbox Code Playgroud)
仅定位可见的div?非常感谢.
我在 Wordpress 3.5 之前有一个完美工作的 wpdb 准备语句。这是我的台词:
$post_id = $wpdb->get_var($wpdb->prepare( "SELECT a.post_id
FROM $metatable AS a
JOIN $metatable AS b ON a.post_id = b.post_id
WHERE a.meta_value = '$valuex1' AND b.meta_value = '$valuex2'"));
Run Code Online (Sandbox Code Playgroud)
现在,在 Wordpress 3.5 中,这会返回警告,因为尚未完全清理。我已按照 WordPress 的建议对此进行了修改以使用占位符:
$post_id = $wpdb->get_var($wpdb->prepare("SELECT a.post_id FROM $metatable AS a JOIN $metatable AS b ON a.post_id = b.post_id WHERE a.meta_value =%d AND b.meta_value =%s",$valuex1,$valuex2));
Run Code Online (Sandbox Code Playgroud)
但是,它不再从数据库中检索正确的信息。我修改后的查询有问题吗?如何更改它才能再次工作?
感谢您的帮助。