我在我的WordPress根文件夹中创建了一个文件(test.php),并将其与WordPress分开加载,如http://localhost/MyWP_Website/test.php 这是我的代码:
<?php
require_once("wp-config.php");
require_once("wp-includes/wp-db.php");
function myFilter001($where = '') {
GLOBAL $wpdb;
$where .= " AND ".$wpdb->posts.".ID > 20 ";
return $where;
}
add_filter('posts_where', 'myFilter001');
$args = array(
'posts_per_page' => $total,
'category' => $category,
'author' => $author,
's' => $search,
'offset' => 0,
'orderby' => 'ID',
'order' => 'DESC',
);
$posts = get_posts( $args );
?>
我搜索并发现我的功能不公开,但如何将其公开?这是我的主要代码和我唯一需要的文件吗?!
答案 0 :(得分:0)
我找到了解决方案!
通过使用WP_Query()而不是get_posts(),添加到posts_where的所有过滤器都可以正常工作,我只是替换了代码的最后一行。
替换它:
$posts = get_posts( $args );
对此:
$query = new WP_Query( $args );