主题选项编辑能力问题

时间:2011-02-07 作者:Pabline

我用这个设置了一些主题选项helpful guide as a template. 我想给我的编辑器提供更新这些主题选项的选项,所以我授予edit_theme_options capability as mentioned here.

然而,当我以编辑器身份登录时,我可以看到选项页面,但当我去保存它时,我会看到“作弊嗯?”消息我检查了wp管理/选项。php页面,代码为:

if ( !current_user_can(\'manage_options\') )
wp_die(__(\'Cheatin’ uh?\'));
因此,如果没有manage\\u options功能,您似乎无法编辑选项,这很有意义。这让我想知道您如何区分常规选项和主题选项。我错过了什么吗?

1 个回复
最合适的回答,由SO网友:Denis de Bernardy 整理而成

您应该发布数据(通过<form action="" ...> “主题选项”页面,而不是“wp管理/选项”。php文件。后者用于设置下的内容。

此外,我并不是想对任何人说脏话,但我总是对你在网上读到的提示持保留态度。例如,同一网站上的这篇文章提供了极为糟糕的建议:

http://themeshaper.com/customize-blog-posts-touching-theme-files/

function myblog_shareontwitter($content) {

    print $content; ?>

    <p><a href="http://twitter.com/home?status=Currently reading <?php the_permalink(); ?>" title="Click to send this page to Twitter!" target="_blank">Share <em><?php the_title() ?></em> on Twitter</a></p>

<?php }
add_filter(\'the_content\', \'myblog_shareontwitter\');
上面的代码完全被破坏了:“The\\u content”是一个过滤器,WP希望返回$内容而不是回显,而WP(更不用说插件)希望调用该函数后$内容仍然存在。此外,如果您不在循环中,\\u title()将返回垃圾;这是有问题的,因为在循环外自动生成摘录将调用“the\\u content”。

结束

相关推荐