WordPress

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

4
清理上载文件夹,媒体库数据库结构
我正在对旧博客进行升级和清理,该博客始于Blogger.com,然后移至自托管的WordPress 2.1、2.3和现在的3.0。帖子中的图像散落在周围:大多数图像位于中/wp-content/,但并非全部位于/wp-content/uploads/或中/wp-content/uploads/year/month/。其他人仍然引用blogger.com图像服务器。我想将它们全部合并到/wp-content/uploads/year/month/,我认为这是“正确”的地方?这将使以后的升级更加容易。 做这个的最好方式是什么?我也想更新元数据,以便媒体库可以管理所有元数据。我找不到与此有关的任何文档,因此对不起,如果错过了,请指向我。 当然,我会提供从旧位置到新位置的重定向。做这个的最好方式是什么?404.php插件的模板?我想添加一些日志记录,以便我们可以找到引荐页面并进行更正。 (此问题最初是在WordPress支持论坛上提出的,但那里没有有用的答案)。



4
在WordPress 3.0的导航菜单中添加帖子存档
大家好,我正在使用WordPress 3.0和两(2)个新功能(自定义帖子类型和菜单编辑器)。 我首先创建了一个新的帖子类型“ products”,就像您猜到的那样,此列表类型。 我正在使用沼泽标准模板,并且正在创建一个新菜单来替换顶部导航。据我所知,我只能向其中添加某些“产品”,而不能添加产品的“存档”。我想做的是在菜单上添加一个链接,以转到列出所有产品的页面。 任何想法如何做到这一点?

4
生成具有wp_list_pages()和WordPress 3.0中新菜单功能的显示子页面的菜单?
以前,我能够使用以下逻辑来为当前选择的父页面选择性地加载子页面: if( $post->post_parent ) { $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); } else { $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); } if ($children) { ?> <ul id="subnav"> <?php echo $children; ?> </ul> <?php } else { } 使用新的register_nav_menus()/ wp_nav_menu()功能似乎没有本机的方法。有人知道我现在该如何修补吗? 这是我要实现的屏幕截图:
10 menus 

3
边栏小部件中的自定义帖子类型数据?
(注意:这个问题最初是关于“自定义字段”的,但是@MikeSchinkel有一个更好的解决方案,涉及“自定义帖子类型”) 在我的网站上,我有几个页面,我希望在侧栏中显示相同的数据。例如,在这样的结构中: -Home -Cars -Volvo 850 overview -Volvo 850 tech spec -Volvo 850 pictures -Porsche 911 overview -Porsche 911 tech spec -Porsche 911 pictures -Roads -Route 66 overview -Route 66 history -Route 66 pictures -Pan-American Highway overview -Pan-American Highway history -Pan-American Highway pictures 我希望所有的Volvo 850页面在边栏中显示相同的数据,所有Porsche的页面都显示不同的数据集(例如Speed,Maker等)。 道路页面将为每条道路拥有自己的数据集。汽车和道路也将有自己的页面模板,而我认为它会获得右侧边栏的方式在sidebar.php中是这样的: if ( is_page_template('car-profile-template.php') ) …

5
如何在Wordpress中表示内容的“块”?
到目前为止,我只使用过wordpress作为自托管博客平台。我需要将其用于非常基本的CMS,该CMS包含约10页,其中大部分是静态内容,会定期更新。我将需要能够上载文档,嵌入图像,使用文本编辑器编辑副本的功能-几乎所有wordpress提供的标准功能。 但是,我很难解决在页面中编辑特定部分的问题-特别是仅知道从何处开始。传统上,“普通” CMS会将页面分为几个部分,并允许我通过直接编辑内容或在该位置包括共享内容来编辑这些部分中的任何一个。我无法找到使用wordpress的方法。 是否有可能“拉伸”页面模型,从而使页面实际上只是一小部分内容,它就包含在特定的页面/模板中,并且(以某种方式)防止直接查看(将其从导航菜单中删除)开始)。 关于从哪里开始的任何指示? 更新资料 为了澄清,假设有一个标准的wordpress博客文章。假装这是静态的内容。假设您希望编辑者仅能更改该博客文章的第一段。现在, 该页面上的静态内容应该位于帖子,页面,模板还是其他内容中? 可编辑的内容应该是Page,还是其他? 例如: <h1>About us</h1> <p>Example.com is a company specialising in examples, demonstrations, and canonical stuff.</p> 如果我希望该段是可编辑的,则大概需要以下内容: <h1>About us</h1> <p><?php insert_page('name-of-content-chunk'); ?></p> 更新2 好的,经过大量的研究,试验和错误,我包括以下内容: 不能将Wordpress 设置为轻松复制经典CMS,尤其是在一页上包含多个内容的情况下。 可以使用自定义帖子来模仿该模型(或多或少)(请参见下文) 页面几乎可以做到这一点,但是: 仅包含页面就需要插件 页面似乎不像帖子那样灵活-例如,没有自定义页面类型 我使用的使用自定义帖子类型的方法大致如下: 该页面是带有自定义模板的“页面”-称为“ mypage.php” 该模板包含以下内容: <div id =“ header”> <?php query_posts(array('name'=>'foo','post_type'=>'header-text')); get_template_part('header-text'); ?> </ …
10 cms 

3
从REST API检索到的随机数无效,并且与wp_localize_script中生成的随机数不同
对于那些来自Google的应用程序:除非您真的知道自己在做什么,否则您可能不应该从REST API中获取现时信息。REST API的基于Cookie的身份验证仅适用于插件和主题。对于单页应用程序,您可能应该使用OAuth。 之所以存在这个问题,是因为文档尚不清楚/尚不清楚在构建单页应用程序时应如何进行真正的身份验证,JWT并不真正适用于Web应用程序,并且比基于cookie的身份验证更难以实现OAuth。 该手册中有一个有关Backbone JavaScript客户端如何处理随机数的示例,如果我按照该示例进行操作,则会得到一个随机数,该内置数可以被/ wp / v2 / posts等端点接受。 \wp_localize_script("client-js", "theme", [ 'nonce' => wp_create_nonce('wp_rest'), 'user' => get_current_user_id(), ]); 但是,使用Backbone和主题都是不可能的,因此我编写了以下插件: <?php /* Plugin Name: Nonce Endpoint */ add_action('rest_api_init', function () { $user = get_current_user_id(); register_rest_route('nonce/v1', 'get', [ 'methods' => 'GET', 'callback' => function () use ($user) { return …

3
阻止Wordpress生成medium_large 768像素大小的图像上传?
我遵循了指导原则,以防止Wordpress通过“设置”>“媒体”中的缩略图,中号和大号的大小生成大小不同的单个图像uploade,并在我的functions.php文件中删除了add_image_size和set_post_thumbnail_size的所有实例主题。但是,当我上载新图像时,Wordpress仍会生成超出原始完整尺寸的768px宽度版本。我相信它与此更新有关,但我想知道是否有任何方法可以防止它发生?我相信我已经阅读了一些人们在不经意间尝试做其他事情的线程,但是我正在寻找一种明确的方法。
10 images  media  library 

1
什么时候应该使用,什么时候不应该使用wp_list_pluck()?
在学习元数据延迟加载的同时,我遇到了以下几行代码: // Don't use `wp_list_pluck()` to avoid by-reference manipulation. $comment_ids = array(); if ( is_array( $comments ) ) { foreach ( $comments as $comment ) { if ( $comment instanceof WP_Comment ) { $comment_ids[] = $comment->comment_ID; } } } 我以为它与该主题有关,但是这里没有引用,唯一的foreach循环包含在一个函数中,在这种情况下如何进行按引用操纵? 并且,为了最佳实践,什么时候应该使用wp_list_pluck()函数?

2
我们可以将一个WordPress安装用于多个数据库,域和内容目录吗
我已经看到了一些看起来相似的问题,但是它们都以multisite结尾。为了可维护性,性能和安全性,我不想使用多站点。所以,请忍受我。 这就是我在考虑的问题: . |_____branch1 // for branch1.domain.com | |_____themes | |_____plugins | |_____branch2 // for branch2.domain.com | |_____themes | |_____plugins | |_____branch3 // for branch3.domain.com | |_____themes | |_____plugins | |_____index.php |_____WordPress |_____wp-config.php 如您所见,每个域都有其自己的数据库和内容目录,但只有一个WordPress实例。现在,主题,插件和数据库变得更小且独立。然后,维护,扩展将变得更加容易。 但是有可能吗?如果您之前遇到过相同的问题,请分享您的想法!非常感谢您的帮助。


4
获取wp rest API v2中的帖子数并获取所有类别
我想获得我的帖子数。我觉得用 wp-json / wp / v2 / categories?page = 1 >>算是一个好方法。但是使用上述解决方案在速度上不是一杯茶,我不知道如何通过一个电话获得所有类别(如果您知道如果您分享它会很有帮助)。有什么方法/教程/ ...可以让我在主通话中添加帖子数吗?就像这条路线:wp-json / wp / v2 / posts...。
10 rest-api  wp-api 

1
wp_headers与send_headers。什么时候使用每个?
我已经看过wp_headers并且send_headers都用于同一件事,而且我想知道您是如何知道要使用哪个以及何时使用的... 在send_headersCodex页面上,有一个添加X-UA-Compatible: IE=edge,chrome=1for Internet Explorer向后兼容性的示例,因为如果太晚加载,meta标记在Intranet网站上通常会失败。 该send_headers示例如下所示: add_action( 'send_headers', 'add_header_xua' ); function add_header_xua() { header( 'X-UA-Compatible: IE=edge,chrome=1' ); } 但是wp_headers也可以这样做: apply_filters ( 'wp_headers', array $headers, WP $this ) add_filter( 'wp_headers', 'wpieeam_headers' ); function wpieeam_headers($headers) { if (!is_admin()) { $headers['X-UA-Compatible'] = 'IE=edge,chrome=1'; } return $headers; } 更新:我实际上只是注意到,几年前关于这个问题的对话或多或少开始了…… 另外,send_headers是否仅与前端有关?我已经看到wp_headers做这样的检查: if ( isset($_SERVER['HTTP_USER_AGENT']) && …


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.