将textarea添加到wordpress options-general.php

时间:2011-12-19 18:22:44

标签: wordpress textarea field

我不确切知道如何定义我的问题,即时工作我的自定义Wordpress主题,我已经在Wordpress管理员的常规设置中添加了自定义输入字段,通过编辑general.php并添加一个新的数组列表,然后我在options-general.php中创建了一个新的tablerow:

<tr valign="top">
<th scope="row"><label for="siteupdates"><?php _e('Site Updates') ?></label></th>
<td><input name="siteupdates" type="text" id="content" 
"value="<?php  form_option('siteupdates'); ?>" class="regular-text" ></>
<span class="description"><?php _e('Site news,updates,etc.') ?></span></td>
</tr>

并在header.php中添加了一个div,我想让它显示出来:

<div id="siteInfo">
<?php form_option('siteupdates'); ?>
</div><!--siteInfo end-->

然后我在phpmyadmin('siteupdates')的wordpress数据库中添加了新的查询,一切都很好,因为我是非常新的PHP,我看了很多教程,发现这种方式对我来说最简单。 现在我想将此输入更改为textarea字段,但是当我将html更改为:

<tr valign="top">
<th scope="row"><label for="siteupdates"><?php _e('Site updates') ?></label></th>
<td><textarea name="siteupdates" type="text" id="content" 
cols="50" rows="6" value="<?php form_option('siteupdates'); ?>" class="regular-text">   
</textarea>
<span class="description"><?php _e('Site news,updates,etc.') ?></span></td>
</tr>

它看起来很好,我看到文本字段而不是输入,但我不能存储数据。我哪里错了?

2 个答案:

答案 0 :(得分:2)

我刚刚完成了你所做的事情,我将options-general.php中的相同代码插入到新字段中,并在“options”表上创建了一条新记录。

当我通过General Adjustmenst时,我看到新字段的值已经提前插入到新记录中。但是当我尝试更新它时没有任何反应。

但我找到了options.php,如果你从浏览器中获取它,你可以找到所有的调整,有趣的一点是,如果我尝试更新新记录的值,它确实!!!

这种方法非常简单,因为正确的方法,创建插件等等,它花费的时间更多,更复杂。

如果这个解决方案对我自己来说,生病了,但如果是为了其他人,可能会因为他必须修改代码每个新版本的wordpress出来。

答案 1 :(得分:1)

一些事情:

a)查看创建自己的管理菜单。 More information here

b)您应该使用add_option

,而不是使用自定义数据库查询存储选项

c)您的textarea有type="text",不需要。

d)如果你要在那里有内容,你应该看看wp_editor这是WP 3.3中的新内容