- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
posts WHERE post_author = $current_user_i-6ren">
我有一个看起来像这样的 $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/
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
这个问题已经有答案了: Mysqli get_result alternative (3 个回答) 已关闭去年。 所以我的主机没有为 mysqli 安装 mysqlnd 驱动程序,所以我无法使用 ge
我在显示数据库中的数据时遇到了一些问题。 Get_results 显示数据库中除最后添加的记录之外的所有记录。我还有分页功能,如果删除它,则会正确显示所有内容。 代码: global $wpdb;
为什么 get_result 在这个例子中返回对象? function db_connect() { $db_host='localhost'; $db_name='contact_m
错误: Call to a member function get_results() on null in C:\xampp\htdocs\shop\wp-content\plugins\myplu
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。
这个问题在这里已经有了答案: Call to undefined method mysqli_stmt::get_result (10 个答案) 关闭 2 年前。 我有以下代码: $postId =
这是我的登录PHP代码 prepare($sql); $stmt->bind_param("s",$user_uid); $stmt->execute();
我有一个带有 echo 的 php 代码来检查它停止的位置(它不会崩溃,但会停止发送 echo 并且不能按预期工作) $stmt=$conexion->prepare("SELECT Email, M
问题: 使用 Wpdb 尝试从表中获取列。我尝试过的代码是: get_results($sqlq2); foreach($result as $row) { print_r($row->fk_id)
这是我的 WordPress 数据库查询: global $wpdb; $table_name = $wpdb->prefix . 'qs_css'; $db_css = $wpdb->get_res
我用过... $result = $wpdb->get_results( $query ); foreach ( $result as $print ) { echo $print->name
我有这段代码,它运行良好,但它获取来自所有类别的帖子。我只需要从类别 ID 2 获取帖子。我尝试将“AND term_taxonomy_id = 2”添加到我的代码中,但这不起作用。有人可以帮我解决这
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
这个问题已经有答案了: Call to undefined method mysqli_stmt::get_result (10 个回答) 已关闭 9 年前。 我正在将所有脚本更改为使用 mysqli
我的网络服务器没有 mysqlnd API 扩展,因此我无法使用它,并且希望采取解决方法。 当前给出错误: $postid = $_GET['p']; $stmt = $conn->prepa
我正在编写一段代码,用于通过用户传递的查询实时搜索记录。编写的代码如下: if(isset($_REQUEST["term"])){ $sql = "SELECT * FROM student
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
我有一个看起来像这样的 $wpdb->get_results 查询: "SELECT * FROM $wpdb->posts WHERE post_author = $current_user_i
我是一名优秀的程序员,十分优秀!