php - 从 WordPress DB 检查元值不适用于页面
问题描述
我希望在用户选择某个页面模板时创建一个 CPT(投资组合)。
这是我到目前为止的代码,适用于帖子:
$posts_with_meta = get_posts(array(
'posts_per_page' => 1,
'meta_key' => '_wp_page_template',
'meta_value' => 'portfolio.php',
'fields' => 'ids',
));
if (count($posts_with_meta)) {
function spx_pt_portfolio()
{
register_post_type('portfolio',
array(
'labels' => array(
'name' => __('Portfolio'),
'singular_name' => __('Portfolio'),
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'thumbnail', 'custom-fields', 'revisions'),
)
);
}
add_action('init', 'spx_pt_portfolio');
}
出于某种原因,此代码仅适用于帖子。当我在页面上选择页面模板“投资组合”时,没有任何反应。
解决方案
不确定我是否完全理解您要执行的操作,但您可能正在使用 get_posts() 并且需要在页面上使用 get_pages()。
推荐阅读
- c# - 如何在 C# 中的单个 DASL 过滤器查询中使用多个条件?(语法)(用于 advancedSearch() 方法)
- kotlin - 在 lambda 表达式中使用可完成的 rxjava2 时的显式返回类型
- java - 如何在 Java 中按 id 过滤重复的 ArrayList - spring boot data jpa
- angular - 无法匹配生产环境中的任何路线
- ubuntu-18.04 - 无法在 Ubuntu 18.04 中使用波兰语变音符号
- python - 通过python smtplib发送电子邮件时将href链接添加到图像附件
- ruby - 如何让 Sinatra 正确处理包含数组的 JSON 请求?
- django - Django:搜索视图的 get_queryset 方法以使用多个字段进行过滤
- javascript - pdf js无法加载worker
- javascript - 在 A-Frame 场景中隐藏鼠标指针(小手)