考虑一下web开发和wordpress的新手。
我正在开发一个随机更改元素文本颜色的插件。它运作良好但现在几乎是静止的。现在我想为其他元素添加此功能,就像帖子标题一样。
如何从管理菜单表单中的选项控制javascript .js文件中的条件。比如说我想为帖子标题添加该功能,所以用户将有一个带有2个复选框的表单,一个用于博客标题和其他帖子标题。
我准备好了复选框,脚本用于标题,只需将这些复选框值传递给该js文件。
提前致谢。
Javascript文件代码:
jQuery(document).ready(function($){
var $ttl = '.site-title a';
var rainbow = function(){
var $rrr = Math.round(((Math.random()*200)));
var $ggg = Math.round(((Math.random()*200)));
var $bbb = Math.round(((Math.random()*200)));
var $r = "'rgb(" + $rrr + ", " + $ggg + ", " + $bbb + ")'";
$($ttl).animate({color: $r},"slow");
}
$($ttl).mouseenter(
function(){
rainbow()
}
);
});
我的插件php文件:
if ( ! function_exists( 'rainbow_title_script' ) ) {
function rainbow_title_script() {
wp_enqueue_script(
'rainbow_title_script',
plugins_url( '/rainbow_title.js' , __FILE__ ),
array( 'jquery-ui-core', 'jquery-color' )
);
} // function ends
} // if condition ends
add_action('wp_enqueue_scripts','rainbow_title_script')
答案 0 :(得分:1)
有关创建选项页面的信息,请参阅http://codex.wordpress.org/Creating_Options_Pages
也提供了非常好的见解修改强> 请考虑:http://wakeusup.com/2011/11/how-to-create-plugin-options-page-in-wordpress/
我在插件中使用了这种方法。 您可以这样设置您的设置:
if(!class_exists('cnp_plugin_options')):
// DEFINE PLUGIN ID
define('CNPPLUGINOPTIONS_ID', 'cnppluginoptions');
// DEFINE PLUGIN NICK
define('CNPPLUGINOPTIONS_NICK', 'CNP options');
class cnp_plugin_options
{
/** function/method
* Usage: hooking the plugin options/settings
* Arg(0): null
* Return: void
*/
public static function register()
{
register_setting(CNPPLUGINOPTIONS_ID.'_options', 'cnp_builder');
register_setting(CNPPLUGINOPTIONS_ID.'_options', 'cnp_author_restriction');
register_setting(CNPPLUGINOPTIONS_ID.'_options', 'cnp_plugin_link');
register_setting(CNPPLUGINOPTIONS_ID.'_options', 'cnp_notallowed');
}
/** function/method
* Usage: hooking (registering) the plugin menu
* Arg(0): null
* Return: void
*/
public static function menu()
{
// Create menu tab
add_options_page(CNPPLUGINOPTIONS_NICK.' Plugin Options', CNPPLUGINOPTIONS_NICK, 'manage_options', CNPPLUGINOPTIONS_ID.'_options', array('cnp_plugin_options', 'options_page'));
}
/** function/method
* Usage: show options/settings form page
* Arg(0): null
* Return: void
*/
public static function options_page()
{
if (!current_user_can('manage_options'))
{
wp_die( __('You do not have sufficient permissions to access this page.') );
}
$plugin_id = CNPPLUGINOPTIONS_ID;
// display options page
include(plugin_dir_path(__FILE__).'/options.php');
}
if(is_admin()){
add_action('admin_init', array('cnp_plugin_options', 'register'));
add_action('admin_menu', array('cnp_plugin_options', 'menu'));
}
endif;
现在您可以获得以下设置:
public static function cnp_notallowed(){
if(get_option('cnp_notallowed')){
return true;
}else{
return false;
}
}