给vps装wordpress时提示如下错误(一大堆)主要是第一条很奇怪。
展开全部 ./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs先Make clean安装libpng 和libpng-devel安装libxslt和libxslt-devel找不到libphp7.so添加 -with-apxs2找不到apxsYum install httpd-develwordpress 建立数据库连接时出错localhost不联网不使用网卡,不受防火墙和网卡限制本机访问127.0.0.1不联网网卡传输,受防火墙和网卡限制本机访问本机IP联网网卡传输 ,受防火墙和网卡限制本机或外部访问...
wordpress的sidebar怎么设置
1,就是有个sidebar的东西方向设置,什么都不贴的话,原始的自动显示出来两行,很难看,怎么能不让原始的显示出来(我自己也不往上加什么了),就用南北方向的就好了。
答:你在后台中把相关侧栏插件拖拽到侧边栏就OK了,你说的方向问题想必是,CSS的样式控制的。
2,如果显示东西方向的话,怎么能让它统一 ,比如,让分类的列表显示为两行,而不是原始的分类1行,标签1行。
如果分类和标签的list不一样数目的话,非常难看! 答:上面说了,方向的问题,很有可能是CSS样式造成的,这几需要你的测试了,修改CSS代码
怎样制作wordpress的面包屑导航
如果是新手, 建议用其他Wordpress 的插件。
例如Yoast SEO 或者 WP SEO 他们都有加面包屑的功能, 如果不想加插件, 可以把以下加进function.php // Breadcrumbs function custom_breadcrumbs() { // Settings $separator = '>'; $breadcrums_id = 'breadcrumbs'; $breadcrums_class = 'breadcrumbs'; $home_title = 'Homepage'; // If you have any custom post types with custom taxonomies, put the taxonomy name below (e.g. product_cat) $custom_taxonomy = 'product_cat'; // Get the query & post information global $post,$wp_query; // Do not display on the homepage if ( !is_front_page() ) { // Build the breadcrums echo ''; // Home page echo '' . $home_title . ''; echo ' ' . $separator . ' '; if ( is_archive() && !is_tax() && !is_category() && !is_tag() ) { echo '' . post_type_archive_title($prefix, false) . ''; } else if ( is_archive() && is_tax() && !is_category() && !is_tag() ) { // If post is a custom post type $post_type = get_post_type(); // If it is a custom post type display name and link if($post_type != 'post') { $post_type_object = get_post_type_object($post_type); $post_type_archive = get_post_type_archive_link($post_type); echo 'labels->name . '">' . $post_type_object->labels->name . ''; echo ' ' . $separator . ' '; } $custom_tax_name = get_queried_object()->name; echo '' . $custom_tax_name . ''; } else if ( is_single() ) { // If post is a custom post type $post_type = get_post_type(); // If it is a custom post type display name and link if($post_type != 'post') { $post_type_object = get_post_type_object($post_type); $post_type_archive = get_post_type_archive_link($post_type); echo 'labels->name . '">' . $post_type_object->labels->name . ''; echo ' ' . $separator . ' '; } // Get post category info $category = get_the_category(); if(!empty($category)) { // Get last category post is in $last_category = end(array_values($category)); // Get parent any categories and create array $get_cat_parents = rtrim(get_category_parents($last_category->term_id, true, ','),','); $cat_parents = explode(',',$get_cat_parents); // Loop through parent categories and store in variable $cat_display $cat_display = ''; foreach($cat_parents as $parents) { $cat_display .= ''.$parents.''; $cat_display .= ' ' . $separator . ' '; } } // If it's a custom post type within a custom taxonomy $taxonomy_exists = taxonomy_exists($custom_taxonomy); if(empty($last_category) && !empty($custom_taxonomy) && $taxonomy_exists) { $taxonomy_terms = get_the_terms( $post->ID, $custom_taxonomy ); $cat_id = $taxonomy_terms[0]->term_id; $cat_nicename = $taxonomy_terms[0]->slug; $cat_link = get_term_link($taxonomy_terms[0]->term_id, $custom_taxonomy); $cat_name = $taxonomy_terms[0]->name; } // Check if the post is in a category if(!empty($last_category)) { echo $cat_display; echo 'ID . '">ID . '" title="' . get_the_title() . '">' . get_the_title() . ''; // Else if post is in a custom taxonomy } else if(!empty($cat_id)) { echo '' . $cat_name . ''; echo ' ' . $separator . ' '; echo 'ID . '">ID . '" title="' . get_the_title() . '">' . get_the_title() . ''; } else { echo 'ID . '">ID . '" title="' . get_the_title() . '">' . get_the_title() . ''; } } else if ( is_category() ) { // Category page echo '' . single_cat_title('', false) . ''; } else if ( is_page() ) { // Standard page if( $post->post_parent ){ // If child page, get parents $anc = get_post_ancestors( $post->ID ); // Get parents in the right order $anc = array_reverse($anc); // Parent page loop if ( !isset( $parents ) ) $parents = null; foreach ( $anc as $ancestor ) { $parents .= '' . get_the_title($ancestor) . ''; $parents .= ' ' . $separator . ' '; } // Display parent pages echo $parents; // Current page echo 'ID . '"> ' . get_the_title() . ''; } else { // Just display current page if not parents echo 'ID . '">ID . '"> ' . get_the_title() . ''; } } echo ''; } }
wordpress的插件Custom Login 怎么设置
资源在 插件资源集合 有各种你可能需要的资源,包括外站关于写插件的文章,以及特定主题的文章。
学习一个叫 Hello Dolly 的插件“范本”可以领你入门。
如果你的插件已经写完了,并自以为写的不错,查看 插件提交以及推广。
新建一个插件这个部分告诉你怎么把开发插件的理想变为现实。
名称,文件和地方插件名你得先想一个名字,并且努力让它独一无二。
在 Plugins 或者其他宝贝地方——Google或者百度先验证一下这个名字到底是不是独一无二的。
另外你的名字得让别人明白你的插件是干什么的。
插件文件下一步是创建一个PHP文件。
按照原文奇怪的逻辑,你得先想好名字。
这个名字还得是从插件名衍生过来的(其实是为你自己辨认的)。
举个例子吧,比如说你的插件名字叫 "Fabulous Functionality",你的PHP名字可能是 fabfunc.php。
另外不要用汉语拼音(这也是我加的),还要避免重名。
人民群众会把你的插件安装到一个你也知道的叫wp-content/plugins/的地方,如果名字冲突岂不要悲剧了。
你也可以选择把插件分割成几个文件。
显而易见一个php文件是必需的,同时还需要图片、CSS、JavaScript、语言(当然也可以没有)。
如果有很多文件,命名一个php和一个文件夹,例如 fabfunc and fabfunc.php。
把你所有插件文件放到文件夹里,然后让你的用户相信只要把你的整个压缩包解压到 wp-content/plugins/就能正常使用你的劳动成果。
在本文的其余部分,“插件的PHP文件”是指主要插件的PHP文件,无论是在的wp-content/plugins/或子目录。
Readme文件如果你想将你的插件发布到http://wordpress.org/extend/plugins/, 你必须在插件包中建立一个标准格式readme.txt文件. 文件格式参见http://wordpress.org/extend/plugins/about/readme.txt.主页最好为插件建立一个主页,以介绍插件的功能、安装方法、使用说明、适用的WordPress版本、插件更新信息等。
文件Headers现在开始吧,首先让我们从向PHP主文件中加入一些信息标准插件信息插件的主文件顶部必须包括一个标准插件信息头。
WordPress通过标准信息头识别插件的存在,并把她加入到控制面板的插件管理页面,这样插件才能激活,载入插件,并运行里面的函数;如果没有信息头,插件将无法激活和使用。
标准信息插件头的格式为:标准信息头至少要包括插件名称,这样WordPress才能识别你的插件。
其他信息将显示在控制面板插件管理页面中。
标准插件信息对各行顺序没有要求。
这样的升级机制能够正确地读出你的插件版本,建议你选择一个格式的版本号,不同版本之间,并坚持下去。
例如,x.x中或x.x.x或xx.xx.xxx注意:文件必须是 UTF-8 格式!版权信息通常我们还要在标准信息头中加入插件的许可证信息。
大多数插件使用GPL或GPLCompatibleLicenses许可。
如果使用GPL许可,要求插件中包含以下信息:开始编写插件现在是时候让你的插件能干些什么了。
这部分内容包括插件开发的一般思路,而且介绍了开发插件需要做哪些工作。
WordPress插件钩子许多WordPress插件通过连接一个或多个WordPress插件钩子来完成他们的功能。
插件钩子的运行机理是,当WordPress运行到不同阶段,WordPress会检查当前阶段是否注册了插件函数,如果是,那么函数将被执行。
通过执行插件函数改变了WordPress的默认功能。
例如,在WordPress将日志标题和post发送到浏览器前,会检查是否有插件函数注册了名为“the_title”的“filter”钩子。
如果是,标题文本将会传送到注册函数中,注册函数返回值将会传送到浏览器。
所以,如果要在日志标题中加入一些信息,可以通过这种方式实现。
另一个例子是名为“wp_footer”的“action”钩子。
在WordPress的HTML页脚创建之前,会检查是否有插件注册了名为“wp_footer”的“action”钩子,如果是依次执行她们。
在Plugin API了解更多如何注册“filter”和“action”类型的钩子函数,及WordPress提供了那些插件钩子。
如果你发现WordPress没有提供自己想要的钩子,你可以建议WordPress加入这个钩子,很多建议WordPress都会采纳。
具体方法参考Reporting Bugs。
模版标签另一个通过插件加入新功能的方法是建立自定义的模版标签Template Tags。
如果有人想用你的插件,可以在他们的主题中添加这些标签,边栏,文章内容段,或者任意的只要是适合这插件的地方。
例如,一个给文章添加地理位置的插件可能定义了一个模板标签函数geotag_list_states()放在边栏上,这里列表了所有在文章中关联的州的名称,并且还带有插件提供的到这些州的文档页的链接。
定义一个自定义模板标签,仅需要写一个PHP函数,并且在你插件主页或者插件的主PHP文件中声明一下。
声明函数的时候,为这个函数提供一个示例来明确如果想要应用这个函数需要加主题中加些什么文件是个相当棒的主意。
保存插件数据到数据库大多数WordPress插件需要站点的所有者或者是博客的用户输入信息,然后在对话过程中保存起来,以便过滤器函数(filter)、动作函数(action)或者模板函数(Template)使用。
这些信息必须保存在WordPress的数据库中,以便下次使用。
这里...
WordPress的根目录是在哪
1、创建所需的文件 在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。
创建设置选项页的代码需要放置在主题目录下的functions.php文件中。
如果我们的主题名为“OptionPage”,那么functions.php文件的路径为:\wp-content\themes\OptionPage\functions.phph。
我们不需要让wordpress手动加载它,在执行时wordpress会自动加载。
2、建立设置选项页 首先第一步需要在后台建立一个空白页面供我们使用。
我们通过add_aaction来实现这一步。
Actions可以在wordpress执行时的特定时间被响应,例如,当在控制面板创建菜单时,admin_menu就会被响应执行。
因此,可以利用这些来实现我们所需的功能。
这是我们创建选项页的最基本的功能。
// 设置选项页 function themeoptions_admin_menu() {// 在控制面板的侧边栏添加设置选项页链接 add_theme_page("主题设置", "主题选项", 'edit_themes', basename(__FILE__), 'themeoptions_page'); } function themeoptions_page() {// 设置选项页面的主要功能 } add_action('admin_menu', 'themeoptions_admin_menu');?> themeoptions_admin_menu() 是在控制面板的侧边栏中添加一个链接,指向我们创建的选项页:themeoptions_page。
add_theme_page() 的参数为:页面标题:主题设置 菜单标题:主题选项(p.s.为了区分显示,页面与菜单标题我做了不同我命名) 作用功能:edit_themes;Handle(句柄):当前文件;执行的函数:themeoptions_page;现在后台控制面板侧边栏的处就多了一个“主题设置”的菜单,但是现在还是空白的,我们后面要实现的定制内容就在这个空白页面上创建。
3、添加选项和字段 现在我们就可以在刚创建的空白页面上添加我们的选项和字段。
这个页面你可以根据自己的需要进行样式风格化,但在本教程中我们将使用wordpress默认的类,这样可以节省我们的时间并且看起来更加原生。
页面内容的代码需包含在 themeoptions_page() 函数内。
首先,我们先添加一个 class="wrap" 的 div 容器;然后,在头部添加一个默认图标作为作为页面标题;最后是设计表单。
function themeoptions_page() {// here's the main function that will generate our options page?> 主题设置 } 在表单中,首先我们需要添加一个隐藏的值,通过它来检查更新是否已经提交。
然后添加一个提交按钮,这里我也使用wordpress默认的按钮样式。
现在的效果为:现在我们已经创建了设置选项页的基本结构,下面我们开始根据之前制定的内容进行完善:首先,我们要允许主题使用者可以更改颜色方案。
对于这一点,我们需要一个下拉列表提供可用的配色方案。
其次,增加两个广告位的内容,我们需要增加两个文本框来输入图片的URL及广告链接URL。
最后,用户可选择是否显示搜索框。
这一点,我们通过添加复选框来实现。
代码如下:function themeoptions_page() {// 这是产生主题选项页面的主要功能?> 主题设置 主题配色方案 >灰色 >浅蓝 >粉红 图片广告位(1) "/> 广告图片 "/> 广告链接 图片广告位(2) "/> 广告图片 "/> 广告链接 /> 显示搜索框 } 到这里选项页面的内容就已经基本构建完毕了。
4、数据库更新 到目前为止,我们已经创建了一个主题选项页面,下一步要做的就是如何将数据透过POST提交的wordpress数据库。
要做到这一点,需要创建一个新的功能函数themeoptions_update(),这个函数将会被themeoptions_page()调用,所以将下面的代码添加到themeoptions_page()函数的最上面。
if ( $_POST['update_themeoptions'] == 'true' ) { themeoptions_update(); } 下一步是增加一个更新函数。
function themeoptions_update() { // 数据更新验证 update_option('mytheme_colour', $_POST['colour']); update_option('mytheme_ad1image', $_POST['ad1image']); update_option('mytheme_ad1url', $_POST['ad1url']); update_option('mytheme_ad2image', $_POST['ad2image']); update_option('mytheme_ad2url', $_POST['ad2url']); if ($_POST['display_search']=='on') { $display = 'checked'; } else { $display = ''; } update_option('mytheme_display_search', $display); }5、调用选项定制主题5.1 更改配色方案 我们主题的默认样式文件为 style.css,如果使用其他的配色方案,我们需要建立相应的样式文件,例如本例中的 blue.css、pink.css,style.css 为默认的灰色。
为了切换配色方案样式表,需要在主题 header 中加入以下代码:/default.css" type="text/css">/.css" type="text/css">5.2 增加广告位图片 在你想要放置广告的地方添加以下代码:">" height="125" width="125" />">" height="125" width="125" />5.3 是否显示搜索框 在需要放置搜索框的地方添加以下代码,当用户选择显示搜索框时会显示,否则则不显示: 搜索框 "> " /> 6、总结 本文翻译自NET TUTS+文章《How to Integrate an Options Page into your WordPress Theme》,版权归原文作者所有。
为了更容易地学习添加主题选项页的过程,我省略了原文中部分内容,有兴趣的话可以参考原文。
翻译水平有限,...
WordPress应按在cpanel的ftp下的那个文件夹里?
1. 使用插件 Simple local avatar,可以让用户在后台->我的资料页面,设置自己的头像;2. 将默认的Gravatar服务器改为国内可以访问的cn.Gravatar点com:add_filter('get_avatar', 'cwp_change_avatar_source');function cwp_change_avatar_source($avatar){$protocol=is_ssl()?'https':'http';$avatar_source='cn.gravatar.com';$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','',$avatar);return $avatar;}
转载请注明出处51数据库 » wordpress的xmlrpc