Wordpress插件开发 - 输出到正文

时间:2014-01-04 19:48:56

标签: php wordpress-plugin wordpress-theming wordpress

我正在编写一个将Facebook登录与我的网站集成的插件(唯一的用户身份验证方法)。我面临的最后一个挑战是将登录/注销部分集成到网站中。我的意思是,我想添加一个"登录/注册|注销" HTML输出到网站的每个页面/帖子(网站标题)的右上角。我的目标是不创建子主题并将插件代码集成到主题代码中,除非绝对必要......基本上插件应该是主题不可知的。

我已经准备好了关于登录/注销的代码,我只需要将它输出到正确的位置。到目前为止,我的研究使我能够将数据放入<head></head>部分,并操纵body_class。我还没有找到任何有助于输出身体部分的东西。

有人提供任何指示吗?

3 个答案:

答案 0 :(得分:0)

您可以使用wp_footer添加代码并与CSS对齐以使其位置

<?php
function your_function() {
    echo '<p>This is inserted at the bottom</p>';
}
add_action('wp_footer', 'your_function');
?>

http://codex.wordpress.org/Plugin_API/Action_Reference/wp_footer

答案 1 :(得分:0)

如果你有一个像

这样的功能
function show_authentication(){
   //your code to load the log in  goes here
}

如果您只是在header.php文件中的任何位置调用此函数,您可以在每个页面/帖子中显示它但我建议您在调用菜单后将其放在

<span> <?php show_authentication(); ?> </span>

答案 2 :(得分:0)

可用于在正文中显示内容的唯一操作挂钩是wp_footer,请参阅@ AchinthaSamindika的回答。一旦您的内容显示在页脚中,您的问题就会成为CSS问题。

这是一个基本的例子(来自@ AchinthaSamindika的答案):

<?php
function your_function() {
    echo '<div class="your_class">This is inserted at the bottom in the dom, but can be displayed in the top via CSS.</div>';
}
add_action('wp_footer', 'your_function');
?>

然后你将使用简单的CSS调整显示:

.your_class {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    border: 1px solid red;
}

你可以做任何事情,例如通过在body元素上添加margin-top来推动整个身体,然后使用position: absolute;position: fixed;在其上方显示你的内容(以保持它坚持滚动时顶部等等。

因为您无法预测主题将在何处显示导航(水平/垂直菜单,固定,静态,左侧,右侧等),您无法放置一个元素,而该元素不会覆盖其他内容(例如徽标)。您可以做的是让最终用户能够通过后端的选项调整插件元素的位置。