这里是页头

destoon 系统邮件发送未开启 解决办法

destoon进入商务中心发图片等操作时,在系统没有开启发送邮件服务。 这个时候在会员中心操作的时候会出现“系统邮件发送未开启”显示。这个时候需要做的就是在后台->会员管理->模块设置->邮件认证->选择关闭。这个时候就解决问题了


wordpress设置面板

<?php 
//wordpress设置面板
class JOptions {

private $settings_array;
private $args;
private $key = 'Joptions';
var $option_group ='Joptions';
var $option_item = 'Joptions';
var $page='Joptions';
function __construct() {
// add_action( 'init', array( $this, 'init_settings' ) );
// add_action( 'admin_menu', array( $this, 'add_pages' ) );
// add_action( 'admin_init', array( $this, 'register_fields' ) );
// add_action( 'admin_init', array( $this, 'register_callback' ) );
// add_action( 'admin_enqueue_scripts', array( $this, 'scripts' ) );
//add_action('admin_init', array( $this, 'sandbox_initialize_theme_options' ));

//创建菜单
add_action('admin_menu',array($this,'add_pages'));
add_action('admin_init',array($this,'register_setting_page'));
}
//这是setting数字过滤钩子
function init_settings() {
if( is_admin() ) {
$this->settings_array = apply_filters('register_settings_api', array());
add_action( 'admin_head', array( $this, 'script') );
}
}

/**
* Creating pages and menus from the settings_array
*
* @since 1.4
*/
function add_pages() {
/* foreach( $this->settings_array as $menu_slug => $options ) {
if( ! empty( $options['page_title'] ) && ! empty( $options['menu_title'] ) && ! empty( $options['option_name'] ) ) {
$options['capability'] = ( ! empty( $options['capability'] ) ) ? $options['capability'] : 'manage_options';
//改变菜单位置
$add_page='add_'.$options['where'].'_page';
$add_page(
$options['page_title'],
$options['menu_title'],
$options['capability'],
$menu_slug,
array( $this, 'render_options' )
);
}
} */
//Add submenu page to the Settings main menu
//add_options_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '' )
add_theme_page(
'Joptions', // The title to be displayed in the browser window for this page.
'Joptions', // The text to be displayed for this menu item
'manage_options', // Which type of users can see this menu item
'Joptions', // The unique ID - that is, the slug - for this menu item
array($this, 'display') // The name of the function to call when rendering this menu's page
);
}

function get_settings( ){
return get_option( $this->key );
}

//入口函数
public static function update() {
if(isset($_POST['save'])) {
$options = $this->get_settings();
foreach($options as $key=>$value){
$options[$key] = stripslashes($_POST[$key]);
}
update_option('JOptions', $options);

} else {
$this->get_settings();
}

//创建菜单
add_action('admin_menu',array($this,'add_pages'));
add_action('admin_init',array($this,'register_setting_page'));
}

function register_setting_page()
{
// If the theme options don't exist, create them.
if( false == get_option( $this->key ) ) { 
add_option( $this->key );
} // end if
//定义一个区域 Defining Sections and Settings
//add_settings_section( string $id, string $title, callable $callback, string $page )
add_settings_section(
'settings_section', // ID used to identify this section and with which to register options
'Display Options', // Title to be displayed on the administration page
array($this,'settings_section_callback'), // Callback used to render the description of the section
'display_options' // Page on which to add this section of options 'general', 'reading', 'writing', 'discussion', 'media'
);

// Next, we'll introduce the fields for toggling the visibility of content elements.
add_settings_field( 
'checkbox', // ID used to identify the field throughout the theme
'checkbox', // The label to the left of the option interface element
array($this,'filed_checkbox_callback'), // The name of the function responsible for rendering the option interface
'display_options', // The page on which this option will be displayed
'settings_section', // The name of the section to which this field belongs
array( // The array of arguments to pass to the callback. In this case, just a description.
'checkbox[a]'=>'Activate this setting to display the header.',
'checkbox[b]'=>'Activate this setting to display the header.'
)
);
//add_settings_field( string $id, string $title, callable $callback, string $page, string $section = 'default', array $args = array() )
add_settings_field(
'keywords', // ID
'keywords', // 显示在页面的标题即label
array($this,'filed_text_callback'), // 回掉
'display_options', // 'general', 'reading', 'writing', 'discussion', 'media'
'settings_section', // section ID
array( // The $args
'keywords' // Should match Option ID
)
);
add_settings_field(
'description', // ID
'description', // 显示在页面的标题即label
array($this,'filed_textarea_callback'), // 回掉
'display_options', // 'general', 'reading', 'writing', 'discussion', 'media'
'settings_section', // section ID
array( // The $args
'description' // Should match Option ID
)
);
// Finally, we register the fields with WordPress
//register_setting( $this->$key,$this->$key);
register_setting($this->option_group,$this->option_item,'esc_attr');
}

function settings_section_callback() {
echo '<p>Select which areas of content you wish to display.</p>';
} // end sandbox_general_options_callback
function filed_textarea_callback($args)
{
$options = get_option($this->option_item);
$text_string = isset($options[$args[0]])?$options[$args[0]]:'';
echo '<textarea class="wp-editor-area" rows="5" autocomplete="off" cols="40" name="'.$this->option_item.'['.$args[0] .']" id="my_editor"></textarea>';
}
function filed_text_callback($args)
{
$options = get_option($this->option_item);
$text_string = isset($options[$args[0]])?$options[$args[0]]:'';
echo '<input type="text" id="'. $args[0] .'" name="'.$this->option_item.'['.$args[0] .']" value="' . $text_string . '" />';
}
function filed_checkbox_callback($args) 
{
// First, we read the options collection
$options = get_option($this->key);
$html='';
foreach($args as $k=>$v){
// Next, we update the name attribute to access this element's ID in the context of the display options array
// We also access the show_header element of the options collection in the call to the checked() helper function
$html .= '<input type="checkbox" id="'.$k .'" name="'.$this->option_item.'['.$k .']" value="1" ' . checked(1, @$options['show_header'], false) . '/>'; 

// Here, we'll take the first argument of the array and add it to a label next to the checkbox
$html .= '<label for="'.$k .'"> ' . $v . '</label>'; 
}
echo $html;
} // end sandbox_toggle_header_callback

function display($active_tab = '')
{
?>
<div class="wrap">

<div id="icon-themes" class="icon32"></div>
<h2><?php _e('Theme Options'); ?></h2>
<?php settings_errors(); ?>

<?php if( isset( $_GET[ 'tab' ] ) ) {
$active_tab = $_GET[ 'tab' ];
} else {
$active_tab = 'display_options';
} // end if/else 
?>
<h2 class="nav-tab-wrapper">
<a href="?page=<?php _e($this->page); ?>&tab=display_options" class="nav-tab <?php echo $active_tab == 'display_options' ? 'nav-tab-active' : ''; ?>">Display Options</a>
<a href="?page=<?php _e($this->page); ?>&tab=social_options" class="nav-tab <?php echo $active_tab == 'social_options' ? 'nav-tab-active' : ''; ?>">Social Options</a>
</h2>

<form method="post" action="options.php">
<?php
//Ouput setting_field
settings_fields( $active_tab );
//Prints out all settings sections added to a particular settings page
do_settings_sections( $active_tab );
submit_button();
?> 
</form>
</div><!-- /.wrap -->
<?php
}
}
new JOptions();
?>



九山顶农家院-山里的日子

【山里的日子】2018年正式营业,位于天津市蓟县下营镇常州村,蓟州区九山顶自然风景区内的一家民宿农家院,距北京、天津市区2小时车程,高速便捷。沿途风景秀丽,有多个风景名胜景区。

位置:天津市.蓟县.九山顶自然风景区

★山里的日子拥有三个美丽的院落:层庐、溪畔和浮云。

★山里的日子共有47间客房,能容纳130人左右。可举办家庭聚会、生日派对、公司团建等活动。

★周边有10多个旅游景区,长城、梨花、爬山、漂流、玻璃栈道、CS、垂钓都近在咫尺。

★配备私家停车场、自动麻将桌、乒乓球案、台球、桌游、篮球机等娱乐设施。

★房费包含一日三餐(不需要用餐可减房费)饭菜样式丰富、不拼桌、主食不限量,也可单点。

【九山顶农家院房屋描述】

【层庐】院落错落有致,自然清新,满架爬满了猕猴桃树,让您悠闲享受自然的轻松惬意。

层庐共有19间客房,可容纳50人左右。

【溪畔】院外流水潺潺,诗情画意,超大私密露台,让您享受新鲜的空气和美好时光。

溪畔共有22间客房,可容纳60人左右。

【浮云】推开房门,眼前就是起伏的山脉,清风习习,满眼绿色,静谧的花园更让您释放全身的压力。

浮云共有7间客房,可容纳20人左右。

【九山顶农家院房屋周边介绍】

附近景区有九山顶风景区、黄崖关长城、梨木台、中上元古界保护区、八仙山、青山岭、郭家沟、车神架、石龙峡、清东陵、金海湖…… 景区班车随时恭候,可以协助购买优惠景区门票。

【九山顶农家院房屋交通路线】

导航搜索“天津蓟县常州村山里的日子山庄”经津围北二线,可直达山庄。

【九山顶农家院房屋服务价格】

周日至周四价格:150元/人(含一晚住宿和三餐)

周五和周六价格:200元/人(含一晚住宿和三餐)

【九山顶农家院房屋用餐标准】

圆桌,一桌10人

早餐:特色大饼、4个凉菜、2个热菜、热粥

午餐:6个凉菜、6个热菜、1个汤、两种主食(不限量)

晚餐:6个凉菜、6个热菜、1个汤、两种主食(不限量)

特色菜:小鸡炖蘑菇、侉炖水库鱼、炒柴鸡蛋、特色山野菜、小炖肉、农家豆腐等。

【自费类】烤全羊、烤羊腿、烤羊排、烤肉串、烤鸡翅

转自:http://www.6903.com/wtx/EiVPU5/main.html


火车头PHP插件采集的文本处理

<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);

switch($LabelArray['PageType'])
{
case 'List'://处理列表页,只能处理html
$LabelArray['Html']='';
break;
case 'Pages'://处理多页,只能处理html
$LabelArray['Html']=str_replace('入园时间:</span>','入园时间:</span>插件添加在多页时间前:',$LabelArray['Html']);
break;
case 'Content'://处理默认页,只能处理html
$LabelArray['Html']=str_replace('<title>','<title>默认页给标题加个前缀:',$LabelArray['Html']);
break;
case 'Save'://只有保存时是可以处理标签值的
isset($LabelArray['作者']) && $LabelArray['作者'].=' 保存时您可以修改任意标签的值';
break;
}

echo serialize($LabelArray);

?>

————————————————
版权声明:本文为CSDN博主「bays.fun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48688260/article/details/116784232


醉汉殴打警察获刑 男子犯妨害公务罪判刑8个月

醉汉殴打警察获刑,男子犯妨害公务罪判刑8个月。2016年3月,江苏省沭阳县沭城街道一路口发生了一起交通事故,公安民警赵某、辅警姜某接警后驾驶警车出警处理该起交通事故。男子章某酒后在现场围观,觉着警车停放位置挡住了他的视线,影响到他看热闹,遂脚踹警车,并殴打、撕咬民警。近日,沭阳县法院开庭审理了该起妨害公务案件,依法判决被告人章某犯妨害公务罪,判处有期徒刑八个月。

  法院审理查明:2016年3月30日21时许,沭阳县公安局民警赵某、辅警姜某到沭阳县沭城街道学府北路与威海路交界路口出警处理一起交通事故。二人驾驶警车行驶至该路口时,被告人章某酒后无故脚踹警车并将手伸进驾驶室,对姜某头部实施殴打,赵某下车欲对随意殴打他人的被告人章某约束控制,被告人章某遂对赵某殴打、撕咬,致赵某右臂多处损伤。经鉴定,赵某右上臂及右前臂四处软组织损伤均构成轻微伤。

  近年来,阻碍执行公务、暴力抗法等违法犯罪行为时有发生,这种势头如不有效遏制,必将严重干扰国家机关工作人员正常的公务活动,助长了暴力抗法分子的嚣张气焰,其不仅威胁到国家机关工作人员的人身安全,而且侵犯了国家机关的公务活动,扰乱了公共秩序,严重挑衅法律权威。


wordpress默认自带的jquery,$无效原因及解决

wordpress默认自带的jquery最后面是多了一行代码:

jQuery.noConflict();


释放jquery中的$变量。从而避免多个javascript库之间的冲突问题。

解决办法:
wp_enqueue_script(“jquery”); 务必加在 wp_head(); 的前面,而且 js 的写法是:

jQuery(document).ready(function($) {
// "$"符号在这里才能被识别
});


wordpress设置面板示例

<?php 
//wordpress设置面板
class JOptions {

    public static function getOptions() {
        $options = get_option('Joptions');
        return $options;
    }

    public static function update() {
        if(isset($_POST['save'])) {
            $options = JOptions::getOptions();
            
            $options['YourKey'] = stripslashes($_POST['YourKey']);
            
            update_option('JOptions', $options);

        } else {
            JOptions::getOptions();
        }

        add_theme_page(__('主题设置'), __('主题设置'), 'edit_themes', basename(__FILE__), array('JOptions', 'display'));
    }
    public static function display(){
        
        JOptions::getOptions();
        //这里显示表单
        echo '<input type="submit" name="save" value="'. __('Save Changes') .'" />';
    }
}
add_action('admin_menu', array('JOptions', 'update'));

?>

 



获取url参数

function GetQueryString(name) { 
     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");  
    var r = window.location.search.substr(1).match(reg);   
   if(r!=null)return  unescape(r[2]); 
return null; 
}

window.location.assign(url)和replace(url)区别

window.location.assign(url) : 加载 URL 指定的新的 HTML 文档。 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。

window.location.replace(url) : 通过加载 URL 指定的文档来替换当前文档 ,这个方法是替换当前窗口页面,前后两个页面共用一个

窗口,所以是没有后退返回上一页的