Wordpress

现在的theme.json的version依然是”version”:2JSON文件里,名字一定是双引号,不能是单引号,也不能有大写settings属性选项是设置全局的样式变量,是设置预设默认值,初始化全局变量让全局调用。也是设置默认变量的地方。所以引入字体、设置颜色属性、设置每个block的属性等,styles属性是调用这些预设值,应用预设值color属性关闭默认色盘的属性是defaultPalette,要设置这个属性为false的话,就要后面添加一个空的色盘,”palette”:[],不然永远无法关闭(跟教程里的有区别)— 以上是错误的,因为我在defaultPalette:false 后面还加了个逗号,然后后面又没内容了,所以json不识别。wp自带默认的block的话名字是以core开头的。参考文档:https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/theme.json的contentSize: 针对post的编辑的内容,不是针对页面模板。them.json 里面如果下面没有了的话最后一个千万不要写逗号。这个问题困扰了我好久。像这样: {“version”:2,“settings”:{“color”: {“defaultPalette”: false,“palette”:[],}}} palette:[] 后面千万不要有逗号! theme.json的custom 选项是禁止掉面板的colorpicker. theme.json color的 duotone选项针对图片上传后的滤镜。 可以先在settings里的 color的duotone里添加 自己的 滤镜颜色, “duotone”:[{“slug”:”u-pink-sunset”,“colors”:[“#11245e”,”#dc4379″],“name”:”Udemy Pink Sunset”}], 上面也是添加全局的duotone , 添加color和添加 gradients都一样。 然后在自己自定义的block里面设置duotone. 要禁用duotone或者gradients的方法首先要设置duotone和gradients为空数组。duotone:[] 然后设置 “customDuotone”: false, gradients也是一样。 首先要清空duotone和graidents然后禁用掉自定义挑选。 styles属性选项可以设置默认的颜色,比方说设置Text的默认颜色是white , 设置background的默认颜色是red 这种。 styles选项跟settings是并列的,settings是设置global 的 值, styles是应用这些global的值 。organized way to set CSS propeties, styles in the top level will be added …

Make sure to change MY_POST_TYPE, MY_CUSTOM_COLUMN and MY_META_KEY to the actual values. First, add your custom column. Unset the date and set it again to keep it in the last column. You can skip this step. <?php function my_manage_MY_POST_TYPE_columns( $columns ) { // save date to the variable $date = $columns['date']; // unset the 'date' column unset( $columns['date'] ); // …

下面附件可以直接添加文章浏览次数到文章。 主要原理就是通过访问一次页面就执行一个字段递增赋值的函数,再来获取到这个字段到前端。 添加时候分两种情况,一种是开了缓存的,比方说开了wp-super-cache插件,这种会在wp-config.php文件里面添加 一个常量WP_CACHE,这种要通过js发送ajax请求到wp_ajax从而通过函数来实现字段的递增。因为缓存文件访问的是html文件无法实现与数据库通信,所以通常都通过ajax来进行操作。 下载下面的一个附件,解压到你的网站,将tie_view.php放到你的function文件夹,在functions.php里面引入。在single上面添加tie_setPostViews() 就可以实现每次刷新页面文章生成的tie_views就递增。 在前端显示就直接在需要的地方添加: tie_views(”,get_the_ID) 就好。 如果开启了缓存,就把postview_cache.js这个文件放到你主题根目录下js文件夹里就好。 他会通过ajax给wp_ajax发送请求,对文章自带的字段进行函数写入。

wp自带富文本编辑器的,也就是一直用的经典编辑器,代码是:wp_editor() 但是直接使用不行。这个函数调出的事一个textarea的编辑框。 我们先看这个函数的介绍: wp_editor( string $content, string $editor_id, array $settings = array() ) $content是初始化内容,$editor_id就是字段的id,也就是Html里textarea和tinymce的ID,$settings是这函数的定义好的设置。 settings参数值: $settings array Required Array of editor arguments. wpautopboolWhether to use wpautop() . Default true.media_buttonsboolWhether to show the Add Media/other media buttons.default_editorstringWhen both TinyMCE and Quicktags are used, set which editor is shown on page load. Default empty.drag_drop_uploadboolWhether to enable drag & drop on the editor uploading. …

最近开发一个企业官网,要通过admin_init来判断当前后台编辑页面的id并执行只在当前页面新增页面字段的操作。 原本框架是通过admin_init来新增meta字段的。这个相比add_meta_boxese权限更高,执行更优先,能避免不必要的错误。 wordpress内置很多的超级全局变量的,加上php自带的全局超级变量,可以用$GLOBALS打印出来。 比方说,你给admin_init挂载一个函数, show_current(). 你打印超级变量$GLOBALS ,你会获取到全部超级变量的数组。 打印$_server 变量, 就会获取到发送到服务器端的所有变量。 function show_current_admin_screen() {var_dump($_SERVER);} add_action(‘admin_init’,’show_current_admin_screen’); 你会获取到一系列发送到服务器的参数,其中REQUEST_URI就是当前页面的url。然后你打散这个url获取到post后面的值就可以进行判定。 最简单的方法就是 通过$_REQUEST 方法。 wordpress后台任何操作写入数据都是发送到数据库进行写入,都有$_REQUEST 动作。 通过在函数里打印$_REQUEST你就会得到 当前的 ‘post’ 就是 当前id, 通过$_REQUEST[‘post’] 来判断页面进行操作即可。 不行的,上面的方法不行的,只是提供了一下思路。 要在特定页面实现字段添加,还是用add_meta_boxese好了。 因为 执行request的时候才添加metabox 后面保存的时候就会出现问题无法存储。

为获取当前页面的url,PHP提供了一个超级全局变量$_SERVER,意思就是全局范围内都可以使用。 如果你要页面的完整url,我们需要先检查协议,是https或者http,下面是完整的示例: <?php if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') $url = "https://"; else $url = "http://"; // Append the host(domain name, ip) to the URL. $url.= $_SERVER['HTTP_HOST']; // Append the requested resource location to the URL $url.= $_SERVER['REQUEST_URI']; echo $url; ?> 输出的形式是: isset()函数是用来检测这个变量是否存在。 我们还有另一种方法来获取页面的完整url。 <?php $protocol = ((!emptyempty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) …

用最新版本的用户的密码验证来实现rest api的验证。 后台点击users, 找到application passwords, 创建new application password name , 比方说 external rest example. 点击 add new application password., 会生成一个新应用程序密码。然后把这个应用程序保存在安全的地方。 你能在下面看到上次使用的详情。 在post man 创建一个新的request . 取任何名字, 比方说wp create post example. 使用post request。 body设置为raw , json . 设置JSON数据: { "title":"this is test title", "content":"<!-- wp-paragraph -->this is mazong content <!-- /wp:wp-paragraph -->", "status":"publish" } 结果会返回401,显示无授权。 然后你点击POSTman的 …

Wodpress next and previous post navigation is very important to increase visitor spending time on your site. TO show the next and previous post we can use this code in any single.php page. First, let’s call 2 variableVairable <?php $previous = get_previous_post(); $next = get_next_post(); ?> PHPCopy Then use this code for previous postPrevious post …

Top