WordPress

WordPress开发人员和管理员的问答

5
为插件创建自己的表是不好的做法吗?
如果我想为我的插件保存设置,那将非常简单直接。 现在,我想将更多内容保存到数据库。 文件名,以及仅适用于该文件的其他3个值。并且有许多具有这些值的文件。是否可以使用内置的数据库方法保存某种子数组?如何删除它们并对其进行排序?
11 plugins  database 

2
将MultiSite安装从HTTP切换到HTTPS
我安装了URL设置为http://example.com的 MultiSite ,但现在我想强制所有请求通过HTTPS进行,因此我试图将URL更改为https://example.com。我浏览了数据库,并将所有siteurl和home值更新为https,但是该站点仍通过HTTP加载,而不是重定向到HTTPS。 我知道我可以设置一些htaccess规则,但是容易出错。在常规安装中,WordPress会自动将所有请求重定向到siteurl和home设置中定义的规范URL ,因此我假设MultiSite也是如此。

3
为什么“ / page / 2 /”不起作用?
最终使分页可以使用下面的代码,但是现在分页链接到/ videos / page / 2 /,该链接不存在。如何使第2页正常工作? <?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(); $wp_query->query('post_type=videos&showposts=1'.'&paged='.$paged); while ($wp_query->have_posts()) : $wp_query->the_post(); //display stuff endwhile; php wp_pagenavi(); ?>

2
current_shortcode()-检测当前使用的简码
在插件类中,我想提供公共数据的简单字段:电子邮件,电话号码,Twitter等。可以扩展该列表。 有关详细信息,请参见GitHub上的插件Public Contact Data。 为了简化用法,我还想提供易于输入的短代码: [public_email] [public_phone] [public_something] 唯一的区别是第二部分。我不想为简码提供更多参数,因为它们容易出错。因此,我为插件类中的所有字段注册了一个短代码处理程序: foreach ( $this->fields as $key => $value ) { add_shortcode( 'public_' . $key, array( $this, 'shortcode_handler' ) ); } 现在shortcode_handler()必须知道调用了哪个简码。我的问题是:我该怎么做? 我当前的解决方法是另一个功能: protected function current_shortcode() { $backtrace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); return $backtrace[3]['args'][0][2]; } 这...适用于the_content()。但是它既不优雅也不坚固。 我已经阅读了wp-includes/shortcodes.php,但是现在看不到如何做得更好。

3
如何有条件地将样式表仅排入特定页面?
在开始之前,我想承认有一些非常好的文章,这些文章针对如何基于页面/帖子内容有条件地使脚本入队。 WordPress插件开发-如何仅在帖子需要时有条件地包括CSS和JavaScript 如何像WordPress Master一样加载JavaScript 这些很棒,但是它们比我想做的要先进得多。 我觉得答案是使用内置is_page()函数(codex),但是当我尝试使用它时,站点中断了,或者根本无法正常工作。 我认为我只是在错误的位置执行条件逻辑。 这是我尝试添加到我的functions.php中的内容: function wpse39130_register_more_stylesheets() { wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' ); } add_action( 'init', 'wpse39130_register_more_stylesheets' ); function wpse39130_conditionally_enqueue_my_stylesheet() { // only enqueue on product-services page slug if ( is_page( 'products-services' ) ) { wp_enqueue_style( 'stylesheet_name' ); } } add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' ); 当我删除其中的条件部分时,样式表已成功入队,因此我知道这可行。

3
author.php中的回显作者ID
这可能是一个非常简单的问题。 但是,如何在author.php上回显用户的ID? 我试过了 the_author_meta('ID') 但是它似乎并不想工作。例如,我想在URL的末尾回显它。 http:///www.domain.com/author/sampleauthor-id 显然,“ id”是该特定作者的ID 有任何想法吗?

2
计算帖子数(自定义帖子类型)查询问题
我正在尝试计算自定义帖子类型“工作”的总帖子数。当我知道有帖子时,我的查询只会返回“ 0”。我不认为这是在检查帖子类型是否包含帖子,但是我不知道为什么...有什么想法吗? <?php $jobs = new WP_Query(array( 'post_type' => 'jobs' ));?> <?php if ($jobs->have_posts()) { $count_posts = wp_count_posts()->publish; if ( $count_posts == "1" ) { echo "<h2>There is currently one vacancy...</h2>"; } else { echo "<h2>There are currently $count_posts vacancies...</h2>"; } } else { ?> <h2>There are currently no vacancies.</h2> …

5
创建帖子时,是否可以设置默认的自定义字段?
当我创建新帖子时,在单击“添加新内容”后,在帖子编辑器显示时,我不必使用下拉菜单并选择要使用的自定义字段,而是希望已有一些默认的自定义字段输入开口端。 在视觉上,代替: 我想要类似的东西: 我知道有一些插件(CPT,更多字段等),但是我想用一种简单的方法来完成基本功能。 我尝试过这样的事情(我正在使用自定义帖子类型'product'): function register_custom_fields( $post_ID ) { global $wpdb; if( !wp_is_post_revision( $post_ID ) ) { add_post_meta( $post_ID, 'reference', '', true); add_post_meta( $post_ID, 'price', '', true); } } add_action('edit_product', 'register_custom_fields'); 但这似乎不起作用。我认为该挂钩可能是错误的(因为edit_post在更新后出现),但是我看不到“新帖子”的任何挂钩(在用户单击wp admin中的“新帖子”之后)。有没有 ? 还是整个想法是错误的,还有另一种方法?

3
将WordPress多站点实例复制到第二个位置后,数据库连接错误
这是我的设置。我有一个运行在http://example.com的Multisite实例,我想进行开发和暂存。将WP的现有Multisite实例移至localhost是一个噩梦,因此我将在暂存位置上进行开发。 我将http://staging.example.com设置为指向托管帐户的/ public_html / staging /目录,并将所有WP文件从我的根目录复制到/ staging /目录中。我还复制了数据库文件(SQL转储,将表导入到新数据库中),并更改了wp-config.php文件以指向新数据库。 运行SQL更改数据库记录后,我还更改了wp-config.php文件中的这一行: /** Turning on WordPress MU, new in 3.0 */ define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); $base = '/'; define( 'DOMAIN_CURRENT_SITE', 'example.com' ); // <- I change this line define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 …

1
是否有一个is_user_logged_in()用于多站点?
是否有WordPress的MU /多站点(3.0+),在那里我可以像网络站点ID添加is_user_logged_in()函数is_user_logged_in(2),其中2将是SITE_ID? 更新: 经过一番挖掘之后,我想到了下面的代码。不幸的是,它不起作用。 //不要使用它。不起作用。 函数mu_logged_in($ blog_id){ switch_to_blog($ blog_id); $ status = is_user_logged_in(); restore_current_blog(); 返回$状态; } 阿努的答案和评论都很好。 另外,请确保在wp-config.php文件中正确设置了Cookie域:)



6
将is_page放到functions.php文件中时,为什么is_page无法正常工作?
我有一个名为“ Apple”的页面,该页面的ID为2533。 在page.php文件中,我有一行: echo $bannerimg 而在functions.php中的此功能: if ( is_page( '2533' ) ) { // also tested with 'Apple' $bannerimg = 'apple.jpg'; } elseif ( is_page( 'test' ) ) { $bannerimg = 'test.jpg'; } elseif ( is_page( 'admissions' ) ) { $bannerimg = 'admissions.jpg'; } else { $bannerimg = 'home.jpg'; } …

4
删除重复的主菜单-管理员子菜单?
当我使用add_menu_page&add_submenu_page添加菜单项时, add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' ); add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' ); 我会得到类似 形式 形式 工作申请 报价请求 联络人 是否有可能创建它成为 形式 工作申请 报价请求 联络人 换句话说,表单将链接到求职申请,我不希望多余的表单子菜单项
11 admin-menu 

1
自定义WordPress登录页面和注册页面的URL?
我已经安装了多站点。我已经使用Whitelabel-CMS插件为其添加了白标,但是我无法自定义注册页面和登录页面的URL。 我可以更改多站点登录页面的URL吗?我想更改注册,登录和注册页面的URL。 注册:http://domain.com/wp-signup.php 登录:http://domain.com/wp-login.php/ 注册:http://domain.com/wp-register.php/ 您能帮我自定义这些URL吗?有这种可能性吗? 更新:我已经更改了.htaccess文件,如下所示: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^login$ /wp-login.php [L] RewriteRule ^signup$ /wp-signup.php [L] RewriteRule ^register$ /wp-register.php [L] RewriteRule ^index\.php$ - [L] # uploaded files RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule . index.php …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.