posts WHERE post_author = $current_user_i-6ren">
gpt4 book ai didi

mysql - $wpdb->get_results 问题

转载 作者:行者123 更新时间:2023-11-29 01:23:28 26 4
gpt4 key购买 nike

我有一个看起来像这样的 $wpdb->get_results 查询:

"SELECT *
FROM $wpdb->posts
WHERE post_author = $current_user_id
AND post_status = 'publish'
AND post_type = 'event'
ORDER BY post_date DESC"

翻译成:

SELECT *
FROM wp_posts
WHERE post_author = 5
AND post_status = 'publish'
AND post_type = 'event'
ORDER BY post_date DESC

如果我通过 phpmyadmin 在数据库中运行那个确切的查询,它会返回完美的结果。然而在 wordpress 实现中它不返回任何东西。我已将其缩小到似乎破坏它的 AND post_type = 'event' 部分。当我将其从查询中保留下来时,它返回的结果很好

有人知道为什么吗?

谢谢!

最佳答案

据我了解,wordpress 有 5 种主要的帖子类型:(帖子、页面、附件、修订和 nav_menu_item )

为了查找“事件”的 post_type,您需要使用 register_post_type 函数注册此自定义帖子类型。

这是一个示例,说明如何创建名为“事件”的自定义帖子类型

add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'event',
array(
'labels' => array('name' => __( 'events' ),
'singular_name' => __( 'event' )),
'public' => true,
)
);
}

注意:register_post_type($post_type, $args) 默认接受 2 个参数。

$post_type - 是您的自定义帖子类型的名称。

$args - 是任意数量的参数来修改帖子类型的默认行为。这通常应该是一个数组。

'labels' 参数以一般单数形式描述了帖子类型的名称。如果您更喜欢帖子类型的一般版本和单数版本,请使用显示的方法。否则默认值只是您提供的 $post_type name 名称。

'public' 参数表示帖子类型是否供公众使用。

你也可以写一个没有很多标签的简化版本,例如:

add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'event', array( 'public' => true, 'label' => 'events' ) );
}

另请注意,create_post_type 是您可以调用的函数的自定义名称 my_super_cool_new_custom_original_post_type_creating_function 哈哈或满足您需求的描述性名称。

在简化版本中,我使用了 label,它接受一个参数,这是帖子类型的通用名称。如果您想为您的帖子类型添加描述,您可以在名称的括号内进行,并将一个下划线替换为 x,例如:

add_action( 'init', 'create_post_type' );
register_post_type( 'event',
array(
'labels' => array('name' => _x( 'events' , 'post type general name' ),
'singular_name' => _x( 'event' , 'post type singular name' )),
'public' => true,
)
);

警告:不要在初始化之前使用 register_post_type

现在,如果您已完成所有这些操作并且无法访问 post_type,请确保您已将 public 参数添加到其中。 :)

干杯

关于mysql - $wpdb->get_results 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10466847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com