如何使用钩子在Wordpress中向the_content()添加内容

时间:2013-02-20 03:53:20

标签: php wordpress wordpress-theming hook customizing

快速提问:

让我们说这是我的内容div:

<div id="content">
    <ul id="featured-controllers" class="clearfix">
       <li class="first" style="min-height: 182.167px;">
          <div class="et_slide_hover" style="opacity: 0; display: block;"></div>
          <div class="controller">
             <h2>Volunteers have more fun</h2>
          </div>
          <div class="et_animated_bar" style="display: block; width: 238.055px; left: 0.488656px; overflow: hidden;"></div>
      </li>
      <li style="min-height: 182.167px;" class="">
          <div class="et_slide_hover" style="display: block; opacity: 0;"></div>
          <div class="controller">
              <h2>Mark your calendar</h2>
              Check out our schedule of upcoming events...</p>
          </div>
         <div class="et_animated_bar" style="display: none; width: 239px; left: 0px;"> </div>
     </li>
  </ul>
  <div id="services" class="clearfix">
       <div class="service">
           <h3>Sample Page</h3>
             <p>
             <a href="http://collaborativecommunityprogram.org/wp-content/uploads/sample.png">
            <img class="alignnone size-medium wp-image-12" width="300" height="84" src="http://collaborativecommunityprogram.org/wp-content/uploads/sample-300x84.png" alt="sample">
            </a>
            </p>
      </div>
  </div>
  <div id="footer">
       <div id="footer-widgets" class="clearfix">
           <div class="footer-widget" style="min-height: 58px;">
               <div id="text-2" class="f_widget widget_text">
                   <h4 class="widgettitle"> </h4>
                <div class="textwidget">
           <img src="http://collaborativecommunityprogram.org/wp-content/uploads/footer-social.png">
               </div>
         </div>
     </div>
</div>

格式化有点混乱,但我正在尝试添加内容 ul列表,其id为“featured-controllers”,位于内容div的顶部 上面内容div中的元素。我正在尝试向其添加内容。

以下是网站:http://collaborativecommunityprogram.org/

现在,我尝试过这样做:

function pc_custom_content($content) {
  return $content."<div><p>This is a test</p></div>";
}
add_filter( 'the_content', 'pc_custom_content');

但是它将这个div附加到div的末尾,id为“services” 而不是顶部的“特色控制器”的ul id。

有什么方法可以将一些自定义内容,最好是另一个li添加到“精选控制器”列表的ul id中?我发现无法通过管理面板执行此操作。

非常感谢任何帮助。

谢谢!    

1 个答案:

答案 0 :(得分:1)

您可以从管理面板为您的内容添加短代码。然后从你的functions.php或插件中调用你的php代码。

Wordpress Codex

修改
//you can pass arguments to shortcodes and they are stored in the $atts array
function function_name( $atts ){  
    return "dynamic content to replace shortcode with";
}
add_shortcode( 'shortcode_name', 'function_name' );

然后将其添加到主页的内容中,您希望动态内容显示在WP管理员中:

[shortcode_name]