如何在 wordpress 中 运行 特定 post 上的函数?
How do I run a function on a specific post in wordpress?
我在 Wordpress 中有一个函数可以获取字段和 returns 一个字符串。该函数在当前 post 上调用时工作正常,但现在我需要将函数获取到当前 post 之外的 运行 并从其他 post 获取数据。我正在尝试:
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$postid = $post->ID;
$datafrompost[] = custom_func($postid);
}
echo print_r($datafrompost);
}
如何将函数 运行 设置为不同的 post?
下面是它将获取的函数类型的示例:
//[inactivesubjects]
function inactivesubjects_func( $atts ){
$inactivesubjects = get_field('inactive_subjects');
return $inactivesubjects;
}
add_shortcode( 'inactivesubjects', 'inactivesubjects_func' );
这个函数工作正常,在当前post中是运行时获取inactive_subjects中的内容。
//////////////////////////更新//////////////// ///////////
所以我会按照 Hobo 的建议将其添加到函数中:
//[inactivesubjects]
function inactivesubjects_func( $anact ){
$inactivesubjects = get_field('inactive_subjects', $anact);
return $inactivesubjects;
}
add_shortcode( 'inactivesubjects', 'inactivesubjects_func' );
这就是电话
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$datafrompost[] = inactivesubjects_func($anact);
}
echo print_r($datafrompost);
}
但它没有指定 post?
///////////////////更新 2/////////////////////
真正让我困惑的是这会起作用
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$string = get_field('inactive_subjects', $post->ID);
}
echo print_r($string);
}
为什么我不能在 foreach 中使用 inactivesubjects_func()? (注意 inactivesubjects_func() 是一个例子,我试图在其他 post 上 运行 的实际函数相当大)
你没有听懂我说的话 - 你改变的比我说的要多(也许评论太短,我无法解释清楚)。根据您的第一次编辑,这应该可行。
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$datafrompost[] = inactivesubjects_func($post->ID);
}
echo print_r($datafrompost);
}
function inactivesubjects_func( $anact){
$inactivesubjects = get_field('inactive_subjects', $anact);
return $inactivesubjects;
}
如果您想使用 inactivesubjects_func
作为短代码,您会遇到问题,因为 WordPress 传递短代码参数的方式,但这是一个单独的问题。
我在 Wordpress 中有一个函数可以获取字段和 returns 一个字符串。该函数在当前 post 上调用时工作正常,但现在我需要将函数获取到当前 post 之外的 运行 并从其他 post 获取数据。我正在尝试:
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$postid = $post->ID;
$datafrompost[] = custom_func($postid);
}
echo print_r($datafrompost);
}
如何将函数 运行 设置为不同的 post?
下面是它将获取的函数类型的示例:
//[inactivesubjects]
function inactivesubjects_func( $atts ){
$inactivesubjects = get_field('inactive_subjects');
return $inactivesubjects;
}
add_shortcode( 'inactivesubjects', 'inactivesubjects_func' );
这个函数工作正常,在当前post中是运行时获取inactive_subjects中的内容。
//////////////////////////更新//////////////// ///////////
所以我会按照 Hobo 的建议将其添加到函数中:
//[inactivesubjects]
function inactivesubjects_func( $anact ){
$inactivesubjects = get_field('inactive_subjects', $anact);
return $inactivesubjects;
}
add_shortcode( 'inactivesubjects', 'inactivesubjects_func' );
这就是电话
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$datafrompost[] = inactivesubjects_func($anact);
}
echo print_r($datafrompost);
}
但它没有指定 post?
///////////////////更新 2/////////////////////
真正让我困惑的是这会起作用
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$string = get_field('inactive_subjects', $post->ID);
}
echo print_r($string);
}
为什么我不能在 foreach 中使用 inactivesubjects_func()? (注意 inactivesubjects_func() 是一个例子,我试图在其他 post 上 运行 的实际函数相当大)
你没有听懂我说的话 - 你改变的比我说的要多(也许评论太短,我无法解释清楚)。根据您的第一次编辑,这应该可行。
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post'
));
if($posts) {
foreach( $posts as $post ) {
$datafrompost[] = inactivesubjects_func($post->ID);
}
echo print_r($datafrompost);
}
function inactivesubjects_func( $anact){
$inactivesubjects = get_field('inactive_subjects', $anact);
return $inactivesubjects;
}
如果您想使用 inactivesubjects_func
作为短代码,您会遇到问题,因为 WordPress 传递短代码参数的方式,但这是一个单独的问题。