我在使用“add_action”调用函数时遇到问题。这是我的过程:
我在我的functions.php(最后一个add_action)中添加了“muimedia_post_video”:
/* Posts */
// muimedia_before_post_loop
add_action( 'muimedia_post_before_entry_content', 'muimedia_post_entry_meta', 10);
add_action( 'muimedia_post_entry_summary', 'muimedia_post_entry_summary', 10);
add_action( 'muimedia_post_after_entry_content', 'muimedia_post_entry_data', 10);
add_action( 'muimedia_post_no_results_not_found', 'muimedia_post_no_results_not_
found', 10);
add_action( 'muimedia_after_post_loop', 'muimedia_post_pagination', 10);
add_action( 'muimedia_post_video', 10);
我制作了实际的muimedia_post_video动作函数(在contentextensions.php中):
/* muimedia_post_video */
if ( !function_exists( 'muimedia_post_video' ) ) {
function muimedia_post_video() {
?>
<div class="video-entry-summary">
<?php if (has_post_thumbnail()){ ?>
<a href="<?php the_permalink() ?>"
title="<?php the_title_attribute( array('before' => esc_attr__( 'Permalink:
', 'muimedia' ), 'after' => '')); ?>" rel="bookmark"><?php the_post_thumbnail();
?></a>
<?php } ?>
<h1 class="entry-title"><a href="<?php the_permalink(); ?>"
title="<?php the_title_attribute( array('before' => esc_attr__
( 'Permalink: ', 'muimedia' ), 'after' => '')); ?>" rel="bookmark">
<?php the_title(); ?></a></h2>
<div class="entry-meta">
<span class="meta-date"><?php echo get_the_date(); ?></span>
</div>
<?php the_excerpt(); ?>...
<div id="disquscomments"><a href="<?php comments_link(); ? >#disqus_thread">
Comments</a></div>
</div>
<?php
}
}
然后我在任何php文件中调用该函数,如下所示:
<?php do_action('muimedia_post_video'); ?>
我不知道为什么,但这并没有显示任何帖子。 :(如果我使用主题附带的动作,如“do_action('post_entry_summary')”它显示相应类别的所有帖子很好......但理论上它应该与我的自定义do_action一起工作因为我所做的一切复制并粘贴了post_entry_summary代码,更改了它的名称,并在我的主题函数中添加了一个新的do_action。
让这项工作变得非常重要,我不知道为什么我自己的自定义功能无效。我已经完成了所有事情。任何帮助都会受到赞赏,所以如此如此,所以......所以(如此)太多了! :)
答案 0 :(得分:2)
更改:
add_action( 'muimedia_post_video', 10);
为:
add_action( 'muimedia_post_video', 'muimedia_post_video', 10);
做了这个伎俩。 :)
答案 1 :(得分:2)
add_action需要以下参数....
add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);
所以在你的上一个函数中你没有添加函数。您需要添加这些功能才能使其正常工作。