-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.html
995 lines (993 loc) · 54 KB
/
readme.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
<html>
<head>
<title>WordPress > ReadMe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
<!--
body {
font-family: Georgia, "Times New Roman", Times, serif;
margin-left: 15%;
margin-right: 15%;
}
p, li {
line-height: 135%;
padding-bottom: 2px;
}
h1 {
font-size: 18px;
font-weight: lighter;
color: #006;
}
h2 {
font-size: 16px;
}
.params {
border-color: #cccccc;
border-width: 1px;
border-style: solid;
padding: 5px;
margin: 5px;
margin-left: 20px;
margin-right: 80px;
font-family: arial,helvetica,sans-serif;
font-size:12px;
}
ul, ol { margin: 0px; padding: 0px; padding-left: 20px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; }
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td> <p align="center"><img src="http://wordpress.org/images/wordpress.gif" alt="WordPress" /><br />
<font size="2" face="Georgia, Times New Roman, Times, serif">0.71</font></p>
<p align="center">Weblog / News Publishing Tool</p>
<p align="center"><a href="#requirements">Requirements</a> - <a href="#installation">Installation</a>
- <a href="#templates">Template(s)</a> - <a href="#usage">Query String
Usage</a> - <a href="#xmlrpc">XML-RPC (Blogger API)</a> - <a href="#postviaemail">Post
Via Email</a> - <a href="#notes">Notes</a></p>
<a name="requirements"></a> <h1>Requirements:</h1>
<ul>
<li><strong>PHP4</strong> (version 4.0.6 or higher)</li>
<li><strong>MySQL</strong> (version 3.23.23 or higher)</li>
<li>Perl (optional - only for the spellchecker)</li>
<li>... and a link to <a href="http://wordpress.org" target="_blank">http://wordpress.org</a>
on your site.</li>
</ul>
<p>The link will help promote <a href="http://wordpress.org">WordPress</a>
and is its only mean of promotion. </p>
<p>WordPress is built from b2, which comes from Michel V. We wouldn't be
here without him, so why don't you grab him something from his <a href="http://www.amazon.com/exec/obidos/registry-address-select-done/1XKLC38KDUPXR/103-8901342-4908609">wishlist</a>?</p>
<p>This document is currently beta stage, we'll be updating it extensively
as WordPress matures.</p>
<h1 id="installation">Installation:</h1>
<h2>New users: 5-minute install.</h2>
<ol>
<li>Unzip the package in an empty directory.</li>
<li>Open b2config.php in a text editor, and modify the variables as explained
in the comments. Comments are lines that start with # or /* or //</li>
<li>Upload everything. This release is designed to sit in your root folder,
IE the folder where your WordPress-powered page will reside.</li>
<li>CHMOD 666 the <code>weblogs.com.changes.cache</code> file.</li>
<li> Launch <a href="wp-admin/wp-install.php">wp-install.php</a> in your
browser. This should setup the MySQL database for your blog. If there
is an error, double check your b2config.php file, and try again. If
it fails again, please go to the <a href="http://wordpress.org/support/">support
forums</a> and make a post with all the information about the failure
(error messages, etc), and your setup (the PHP and MySQL versions on
your server, and the browser you were using). <strong>Note the password
given to you.</strong></li>
<li> Go to <a href="b2login.php">b2login.php</a> and sign in with the
login "admin" and the password given to you by the install
script. Then click on the menu 'My Profile', and change the password.
Note: you need javascript enabled to launch the profile popup window.</li>
</ol>
<h2>Some notes:</h2>
<ul>
<li>Whenever you want to post something, just open a browser and go to
b2login.php to log in and post.</li>
<li>You can also use a bookmarklet and/or a sidebar (IE5+/NS6+) to post.</li>
<li> You can also post through the Blogger API, <a href="#xmlrpc">click
here</a> for more info.</li>
<li> Your site's blog is on b2.php (simple template) and index.php (CSS
template), you can rename this file to index.php or any other name you
fancy (provided it bears the php extension or is interpreted as a php
file by your server).</li>
<li> You can also copy b2.php into a new file and modify that new file,
it will work too ;)</li>
</ul>
<h2>Users upgrading from b2 v0.6.1 to WordPress v0.7:</h2>
<ul>
<li>All you <em>really</em> have to do is replace all the files with newer
versions and run <a href="javascript:window.close()">b2-2-wp.php</a>
and you should be ready to go.</li>
<li>If you're using an older version of b2, it's probably a good idea
to upgrade to at least .6.1 before making the leap to WordPress.</li>
<li>The templates are so much better, and there is so much more going
on than before it's probably worth it to start from scratch and work
back to your design.</li>
<li>You <em>must</em> update your <code>b2config.php</code>. There's all
sort of new stuff in there.</li>
<li>WordPress issues should be discussed in our <a href="http://wordpress.org/support/">support
forums</a>.</li>
<li><strong>Back up</strong> your database before you do anything. Yes,
you. Right now.</li>
</ul>
<h1 id="templates">Template(s):</h1>
<h2>First notes:</h2>
<ul>
<li>Enclosed is an example of a template, in the file b2.php. You can
rename this file to "index.php"or something else (recent b2
versions have a default index.php, which is an elaborate CSS-based template).</li>
<li>You can have any number of template files, since all they do is extract
the posts from the database.</li>
<li>Pseudo-template for the comments is in b2comments.php. You needn't
rename this file, but you can edit it.</li>
<li>The only thing to remember is that it's not actually a template, but
a PHP file that you're manipulating. So when you see "don't delete
this line", you know you mustn't, unless you want to have a broken
page.</li>
<li>Required lines are: the first lines that call blog.header.php, the
lines with the "while" statement, and the ones with just "}"
(it ends the while loop).</li>
<li>Between the "while" line and the "}", is the template
for your posts.</li>
</ul>
<h2>Notes about parameters:</h2>
<ol>
<li> Some template tags can accept optional parameters between the parenthesis
<strong>()</strong>.</li>
<li>To add a parameter to a tag, enclose it between quotes and put it
between the <strong>()</strong>.<br />
Example: <code><?php my_tag("my parameter"); ?></code></li>
<li>You may have to put several parameters, for that you separate them
with commas.<br />
Example: <code><?php my_tag("first param","second param"); ?></code></li>
<li>The order of parameters is important. If a function accepts 2 parameters
and you only want to set the second one, you still have to provide the
first one, and so on for any number of parameters.<br />
Example: <code><?php my_tag("","second param"); ?></code></li>
<li>Some template tags, like the_date(), display something only if in
some conditions. They generally accept parameters to display something
before and after them only when they display something.<br />
Example: <code><?php the_title("<h1>","</h1>"); ?></code> would
display <h1>title of the post</h1> only if the post has a title<br />
<br />
</li>
</ol>
<h1>Template tags:</h1>
<blockquote> <strong><?php the_date() ?></strong> <span style="font-family: 'Courier New',Courrier,mono; color: #ff9900; font-weight: bold;">*</span><br />
the date of the post. example: 03.07.01 (default is dd.mm.yy).<br />
the date is displayed only on new days. for example if you got 10 posts
on the same day, the date for this day is displayed only once.<br />
<div class="params">Parameters:
<ul>
<li>format string (default: "d.m.y")</li>
<li>string to display before the date (default is blank)</li>
<li>string to display after the date (default is blank)</li>
</ul>
</div>
<br />
<strong><?php the_time() ?></strong><br />
the time of the post. example: 18:37:00 (default is hh:mm:ss)<br />
<div class="params">Parameters:
<ul>
<li>format string (default: "H:i:s")</li>
</ul>
</div>
<br />
<strong>Note:</strong> you can change the way the date & time are
displayed in the Options page.<br />
once you understand the format strings for the date & time (explained
in the Options page), you can change the display right on the template:
for example, <strong>the_date(</strong><em>"d.m.Y"</em><strong>)</strong>
to have dates like 25.12.2001, <strong>the_time(</strong><em>"B"</em><strong>)</strong>
to have Swatch Internet Time.<br />
If you change the display of the date on the template, changing it from
the options page won't have any effect.br /> <br />
<strong>Note about the_date():</strong> if you want all your posts to
bear the date, you'll have to use the_time() instead, with a date format
string. for example, to have all your posts show like "25.12.2001
@ 8:04:50 AM" you'll have the_time("d.m.Y @ g:i:s A").
you can also repeat this template tag 2 times with 2 different formats:
the_time("d.m.Y") for the date, and then later the_time("g:i:s
A") for the time of the day.<br />
<br />
<strong><?php the_weekday() ?></strong><br />
This displays the day of the week when the post was made. It works like
the_time(), in that it would appear at every post. Weekdays can be obtained
with a custom date format string in the_time() or the_date(), but for
non-english weekdays you have to edit b2config.php<br />
<strong>Note: this tag is OBSOLETE, the_time() and the_date() now use
weekdays/months from b2config.php</strong><br />
<br />
<strong><?php the_weekday_date() ?></strong> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
Like the_weekday(), but works like the_date(), in that it would appear
only on new days.<br />
<strong>Note: this tag is OBSOLETE, the_time() and the_date() now use
weekdays/months from b2config.php</strong><br />
<div class="params">Parameters:
<ul>
<li>string to display before the weekday_date (default is blank)</li>
<li>string to display after the weekday_date (default is blank)</li>
</ul>
</div>
<br />
<br />
<strong><?php the_ID() ?><br />
</strong>the ID (number) of the post.<br />
<br />
<strong><?php the_title() ?><br />
</strong>The title of the post.<br />
<div class="params">Parameters:
<ul>
<li>string to display before the title (default is blank)</li>
<li>string to display after the title (default is blank)</li>
</ul>
</div>
<br />
<br />
<strong><?php the_content() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>The text of the post.<br />
<div class="params">Parameters:
<ul>
<li>text to display for the link to the complete entry (default is
<em>'(more...)'</em>)</li>
<li>0 or 1, whether you want to show the teaser message or not, when
showing the complete text (default is 1)</li>
<li>a filename of another template, if you want the 'more' link to
link to a different template for the complete text of the extended
entry (default is the current template)</li>
</ul>
</div>
<br />
For example <em><?php the_content("read more","0","blah.php")
?></em> would display a link to <em>blah.php</em>, with the link text
<em>read more</em>, and won't display the teaser message.<br />
<br />
<span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span>
To enter an extended entry, just type <em><!--more--></em> in your
entry. The part before that comment is the teaser, the part after it is
the extended entry. To force the extended entry not to show the teaser
message, type <em><!--noteaser--></em> somewhere in your entry.<br />
<br />
<span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span>
To enter an entry with several pages, just type <em><!--nextpage--></em>
in your entry to start a new page.<br />
<br />
<br />
<strong><?php next_post() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>Displays a link to the next post(s). (Generally you might want
to use that tag only in single-post templates)<br />
<div class="params">Parameters:
<ul>
<li>format string for the link (default is "%", where % is replaced
with the title of the next post)</li>
<li>text to display to announce the link (default is "next post: ")</li>
<li>"yes" or "no": display the title of the post, or no (default is
"yes")</li>
<li>"yes" or "no": display a link to the next post only if the next
post is in the same category (default is "no")</li>
<li>number: which next post ? if you make it '2', the 2nd next post
is linked instead of the 1st next one (default is "1", which means
first next post)</li>
</ul>
</div>
<br />
<br />
<strong><?php previous_post() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>Displays a link to the previous post(s). (Generally you might
want to use that tag only in single-post templates)<br />
<div class="params">Parameters:
<ul>
<li>format string for the link (default is "%", where % is replaced
with the title of the previous post)</li>
<li>text to display to announce the link (default is "previous post:
")</li>
<li>"yes" or "no": display the title of the post, or no (default is
"yes")</li>
<li>"yes" or "no": display a link to the next post only if the previous
post is in the same category (default is "no")</li>
<li>number: which previous post ? if you make it '2', the 2nd previous
post is linked instead of the 1st previous post (default is "1",
which means first previous post)</li>
</ul>
</div>
<br />
<br />
<strong><?php next_posts() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>Display the URL portion of a link to the next set of posts. <br />
Generally you would use this in a template to navigate to the next "set"
of posts when the "Show Options" settings for the site is set to "posts
paged". The displayed string can be used to construct a link. When the
site options are not set to 'posts paged", the next and previous functions
will display nothing.<br />
<div class="params">Parameters:
<ul>
<li>Max page number to use. Default "0"; no limit</li>
</ul>
</div>
<br />
<br />
<strong><?php next_posts_link() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong> Displays a full link to the next "set" of posts only if show
options set to "posts paged" and only if there is another page or partial
page of data.<br />
<div class="params">Parameters:
<ul>
<li>A user supplied string. Default "Next Page >>"</li>
</ul>
</div>
<br />
<br />
<strong><?php previous_posts() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>Displays the URL portion of a link to the previous posts.<br />
Generally you would use this in a template to navigate to the previous
"set" of posts when the "Show Options" settings for the site is set to
"posts paged". The displayed string can then be used to construct a link.
When the site options are not set to 'posts paged", the next and previous
functions will display nothing.<br />
<div class="params">Parameters:
<ul>
<li>No parameters.</li>
</ul>
</div>
<br />
<br />
<strong><?php previous_posts_link() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong> Displays a full link to the previous "set" of posts only if
show options set to "posts paged" and if there is a previous set, otherwise
nothing is displayed.<br />
<div class="params">Parameters:
<ul>
<li>A user supplied string. Default "<< Previous Page"</li>
</ul>
</div>
<br />
<br />
<strong><?php posts_nav_link() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>The function displays a complete navigation set of links including
a user definable "separator" with the ability to supply a the text string
to be used for the "previous" and "next" links.<br />
The default result will produce the following string:<br />
<p align="center"><< Previous Page :: Next Page >></p>
<div class="params">Parameters:
<ul>
<li>A user supplied "separator" string. Default " :: "</li>
<li>A user supplied "previous" string. Default "<< Previous
Page"</li>
<li>A user supplied "next" string. Default "Next Page >>"</li>
</ul>
</div>
<br />
<br />
<strong><?php link_pages() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>Displays links to the pages of the post if it's a multiple pages
post.<br />
<div class="params">Parameters:
<ul>
<li>string to display before the tag (default is "<br />", a newline)</li>
<li>string to display after the tag (default is "<br />", a newline)</li>
<li>"next" or "number": display links like "next/previous page" or
links to each page with the number of the page "1 2 3 4 etc" (default
is "number")</li>
<li>string to display the "next page" link (default is "next page")</li>
<li>string to display the "previous page" link (default is "previous
page")</li>
<li>format string for the "number of page" link (default is "%", where
% is replaced by the number of the page)</li>
<li>file name, in case you want to load the posts with multiple pages
in a different template (default is the current template)</li>
</ul>
</div>
<br />
<br />
<strong><?php the_author() ?></strong><br />
The author of the post.<br />
Depending on the user's profile settings, it can display whether their
nickname, login name, first name, last name, both first& last name,
or last & first name. look below for more author-related template
tags. <br />
<br />
<strong><?php the_category() ?><br />
</strong>the name of the category the post belongs to. you can as an admin
add categories, and rename them if needed. default category is 'General',
you can rename it too.<br />
<br />
<strong><?php the_category_ID() ?><br />
</strong>The ID (number) of the category the post belongs to. This is
static data thatyou can use, for example to associate a category to an
image, or a css style.<br />
<br />
<strong><?php trackback_rdf() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span></strong><br />
This will include the RDF data that can be used by some weblog tools to
locate your posts' trackback URLs.<br />
You should put this tag after the <?php the_content() ?> tag in
your template, or just before the end of the loop.<br />
<br />
<strong><?php dropdown_cats() ?><br />
</strong>this is a special tag, meant to be used in the template, but
outside of the b2 loop. it will display a list of <option name="<em>x</em>"><em>category-name</em></option>,
where <em>x</em> is the number of the category and <em>category-name</em>
is the name of it.<br />
<div class="params">Parameters:
<ul>
<li>0 or 1, depending if you want to have an option to display all
categories (default is 1)</li>
<li>text to display for the option to show all categories (default
is "All")</li>
</ul>
</div>
<br />
you can use it like this: <br />
<br />
<code><form action="<?php echo $PHP_SELF ?>" method="get"><br />
<?php dropdown_cats() ?><br />
<input type="submit" name="submit" value="view" /><br />
</form></code> <br />
<br />
<strong><?php list_cats() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>this is a special tag, meant to be used in the template, but
outside of the b2 loop. it will display a list of the categories, with
links to them. like in b2archive.php, each category is on a line, the
only way you can change this is by editing b2.template.functions.php<br />
<div class="params">Parameters:
<ul>
<li>0 or 1, depending if you want to have an option to display all
categories (default is 1)</li>
<li>text to display for the option to show all categories (default
is 'All')</li>
<li>sort by: possible values are 'name' and 'ID' (default is 'ID')</li>
<li>sorting order: possible values are 'asc' for ascending or 'desc'
for descending (default is 'asc')</li>
<li>filename, in case you want to display the categories' posts in
another template (default is current template)</li>
</ul>
</div>
<br />
<strong><?php bloginfo() ?></strong> <span style="font-family: 'Courier New',Courrier,mono; color: #ff9900; font-weight: bold;">*</span><br />
This tag is out of the b2 loop.<br />
It outputs info about your weblog.<br />
<div class="params">Parameters:
<ul>
<li>string: can be 'name' to display the name of your weblog (you
set it in b2config.php), 'url', 'description', 'admin_email', 'rss_url'
to display the URL of your b2rss.xml file, 'pingback_url' to display
the URL of your xmlrpc.php file<br />
(default string is 'name')</li>
</ul>
</div>
<br />
<strong><?php single_post_title() ?></strong> <span style="font-family: 'Courier New',Courrier,mono; color: #ff9900; font-weight: bold;">*</span><br />
This tag is out of the b2 loop.<br />
It outputs the title of the post when you load the page with ?p= (see
'Usage' section for explanation). When the weblog page is loaded without
?p=, this tag doesn't display anything. Generally, you could use it like
this:<br />
<title><?php bloginfo('name') ?><?php single_post_title()
?></title><br />
<div class="params">Parameters:
<ul>
<li>prefix string that will appear before the post's title (default
is ' :: ')</li>
</ul>
</div>
<br />
<strong><?php single_cat_title() ?></strong> <span style="font-family: 'Courier New',Courrier,mono; color: #ff9900; font-weight: bold;">*</span><br />
This tag is out of the b2 loop.<br />
It outputs the title of the category when you load the page with ?cat=
(see 'Usage' section for explanation). When the weblog page is loaded
without ?cat=, this tag doesn't display anything. Generally, you could
use it like this:<br />
<title><?php bloginfo('name') ?><?php single_cat_title()
?></title><br />
<div class="params">Parameters:
<ul>
<li>prefix string that will appear before the category's title (default
is ' :: ')</li>
</ul>
</div>
<br />
<strong><?php single_month_title() ?></strong> <span style="font-family: 'Courier New',Courrier,mono; color: #ff9900; font-weight: bold;">*</span><br />
This tag is out of the b2 loop.<br />
It outputs the name of the month when you load the page with ?m= (see
'Usage' section for explanation). When the weblog page is loaded without
?m=, this tag doesn't display anything. Generally, you could use it like
this:<br />
<title><?php bloginfo('name') ?><?php single_month_title()
?></title><br />
<div class="params">Parameters:
<ul>
<li>prefix string that will appear before the month's name (default
is ' :: ')</li>
</ul>
</div>
<br />
<strong>Note:</strong> The above three functions can be used together
to produce the Title of the page:<br>
<title><?php bloginfo('name') ?><?php single_post_title('
:: ') ?><?php single_cat_title(' :: ') ?><?php single_month_title('
:: ') ?></title><br />
Only one, if any, of these functions will produce output, thus the page
Title can be customize to the task being done. <br />
<br />
<br />
<strong>More about the author</strong> of the post ? Here goes:<br />
<br />
<strong><?php the_author_email() ?> - </strong> the author's email.<br />
<strong><?php the_author_url() ?></strong> - the author's url.<br />
<strong><?php the_author_email() ?></strong> - the author's number
of posts.<br />
<strong><?php the_author_icq() ?></strong> - the author's ICQ number.<br />
<strong><?php the_author_aim() ?></strong> - the author's AIM handle.<br />
<strong><?php the_author_yim() ?></strong> - the author's Yahoo
Messenger handle.<br />
<strong><?php the_author_msn() ?></strong> - the author's MSN Messenger
handle.<br />
<strong><?php the_author_posts() ?></strong> - the author's post
count.<br />
<strong><?php the_author_login() ?></strong> - the author's login
name in b2. If you want some static data about the author, this is what
you're searching for. You can, for example, associate a picture with an
author, like this: <em><img src="pictures/<?php the_author_login()
?>.jpg" border="0"></em><br />
<strong><?php the_author_ID() ?></strong> - the author's ID number
in b2. This number is automatically set when the user registers: to see
the ID of an user, go to the Team page. This is static data too, so you
can use it like the_author_login() in associating stuff with authors.<br />
<br />
<strong><br />
Tags for permalinks</strong> are:<br />
<br />
<strong><?php permalink_anchor() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span></strong><br />
this will display <a name="..."></a>, replacing
"..." with the ID or the title of the post in the database.<br />
<br />
<div class="params">Parameters:
<ul>
<li>string for kind of anchor: either 'id' that displays '50', or
'title' that displays 'title_of_post_50' (default is 'id')</li>
</ul>
</div>
<br />
<strong><?php permalink_link() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>this will display the name of the file followed by #ID to link
to the post, in the month archive if archive-mode is "monthly".<br />
note: this tag does not display the link, for this you've got to type
<a href="<?php permalink_link() ?>">text of the
link</a>.<br />
<div class="params">Parameters:
<ul>
<li>file name, in case you want to link the archive to a different
template (default is the current template)</li>
<li>string for kind of link: either 'id' that appends '#50' to the
link, or 'title' that appends '#title_of_post_50' (default is 'id')</li>
</ul>
</div>
<br />
<br />
<strong><?php permalink_single() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span><br />
</strong>this will display the name of the file followed by #ID to link
to the entire post (the linked page will also show the extended text on
that post if it is an extended entry, and the comments).<br />
note: this tag does not display the link, for this you've got to type
<a href="<?php permalink_single() ?>">text of the
link</a>.<br />
<div class="params">Parameters:
<ul>
<li>file name, in case you want to use a different template for single
posts (default is the current template)</li>
</ul>
</div>
<br />
<br />
<br />
<strong>Tags for comments, trackback, and pingback</strong> are:<br />
<br />
<strong><?php comments_popup_script() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span></strong><br />
This will include the javascript that is required to open comments, trackback
and pingback in popup windows.<br />
You should put this tag before the </head> tag in your template.<br />
<div class="params">Parameters:
<ul>
<li>width (default is 400)</li>
<li>height (default is 400)</li>
<li>file name, in case you want to use a different template for comments
(default is b2commentspopup.php)</li>
<li>file name, in case you want to use a different template for TrackBacks
(default is b2trackbackpopup.php)</li>
<li>file name, in case you want to use a different template for Pingbacks
(default is b2pingbackspopup.php)</li>
</ul>
</div>
<br />
<br />
<strong><?php comments_popup_link() ?><span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span></strong><br />
This will display the link to open comments in a popup window, with the
number of comments.<br />
To edit the popup window's template, edit the file b2commentspopup.php
(it's the default one for comments popup).<br />
<br />
Note:<br />
The same tags exist for TrackBack and Pingback, respectively named '<b>trackback_popup_link()</b>'
and '<b>pingback_popup_link()</b>'. They take the same parameters.<br />
<br />
<div class="params">Parameters:
<ul>
<li>string for comment-less posts (default is "no comments")</li>
<li>string for posts with one comment (default is "1 comment")</li>
<li>string for posts with 2 or more comments (default is "% comments")<br />
Note here that the sign "%" is then replaced by the number
of comments.</li>
<li>string for CSS class, so you can have a styled link with class=""
(default is empty, no CSS class applied)</li>
</ul>
</div>
<br />
<br />
<strong><?php comments_link() ?><br />
</strong> This is a bit like permalink_link, it will display an URL to
the comments page, but again you'll have to create the link tag.<br />
<br />
Note:<br />
The same tags exist for TrackBack and Pingback, respectively named '<b>trackback_link()</b>'
and '<b>pingback_link()</b>'. They take the same parameters.<br />
<br />
<div class="params">Parameters:
<ul>
<li>file name, in case you want to use a different template for comments
(default is the current template)</li>
</ul>
</div>
<br />
<br />
<strong><?php comments_number() ?></strong> <br />
This displays the number of comments that have been posted on this post.
Example: "5 comments".<br />
<br />
Note:<br />
The same tags exist for TrackBack and Pingback, respectively named '<b>trackback_number()</b>'
and '<b>pingback_number()</b>'. They take the same parameters.<br />
<br />
<div class="params">Parameters:
<ul>
<li>string for comment-less posts (default is "no comments")</li>
<li>string for posts with one comment (default is "1 comment")</li>
<li>string for posts with 2 or more comments (default is "% comments")<br />
Note here that the sign "%" is then replaced by the number
of comments.</li>
</ul>
</div>
<br />
Example: <em><?php comments_number("no comment","1 comment","%
comments") ?></em><br />
<br />
This tag differs from v0.5's tag because in v0.5 and prior, it would only
display a number, not a text with it, so you could have terrible things
like "1 comments" (doh !)<br />
<br />
<strong>Necessary: <?php include("b2comments.php") ?></strong><br />
you'll put this line where you want the comments to be placed on your
page.<br />
typically, under the post itself. don't worry, the comments only appear
if the page is called in the comments mode. (like this: url?c=1)<br />
<br />
<strong>Necessary: <?php include("b2trackback.php") ?></strong><br />
you'll put this line where you want the TrackBacks to be placed on your
page.<br />
typically, under the post itself. don't worry, the TrackBacks only appear
if the page is called in the TrackBacks mode. (like this: url?tb=1)<br />
<br />
<strong>Necessary: <?php include("b2pingbacks.php") ?></strong><br />
you'll put this line where you want the Pingbacks to be placed on your
page.<br />
typically, under the post itself. don't worry, the Pingbacks only appear
if the page is called in the Pingbacks mode. (like this: url?pb=1)<br />
<br />
<br />
<strong>Tags that go in b2comments.php, b2trackback.php, b2pingbacks.php:</strong>
(these are easy too)<br />
<br />
<strong><?php comment_author() ?></strong><br />
<strong><?php comment_author_email() ?> </strong> - displays the
e-mail address, but not the link<br />
<strong><?php comment_author_url() ?> </strong>- displays the url,
but not the link<br />
<br />
<strong><?php comment_author_email_link() ?> </strong> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span>-
displays a link to the comment's author's e-mail<br />
<strong><?php comment_author_url_link() ?> </strong> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span>-
displays a link to the comment's author's website<br />
<div class="params">Parameters for <strong>comment_author_email_link()</strong>
and <strong>comment_author_url_link()</strong>:
<ul>
<li>string for the link (default: "email"/"url" depending on the tag)</li>
<li>string to display before the link (default is " - ")</li>
<li>string to display after the link (default is blank)</li>
</ul>
</div>
<br />
<strong><?php comment_author_IP() ?></strong> - displays the IP
of the comment's author<br />
<strong><?php comment_text() ?><br />
<?php comment_date() ?> </strong>- unlike the_date(), this tag appears
on every comment<strong><br />
<?php comment_time() ?></strong><br />
<div class="params">Parameters for <strong>comment_date()</strong> and
<strong>comment_time()</strong>:
<ul>
<li>format string (default is "d.m.y"/"H:i:s" depending on the tag)</li>
</ul>
</div>
<br />
<strong><?php trackback_url() ?> <span style="font-family: Courier New, Courrier, mono; color: #ff9900; font-weight:bold;">*</span></strong><br />
This tag is out of the b2 TrackBacks loop.<br />
It will output the URL to TrackBack the post, that other people can copy
and use in b2's posting interface to trackback this post.<br />
<div class="params">Parameters:
<ul>
<li>no parameter</li>
</ul>
</div>
<br />
<br />
In b2comments.php b2trackback.php and b2pingbacks.php, like in the main
template file, please keep the first PHP lines, the "while"
lines, and the "}" lines.<br />
You can modify the form, but do not remove "<?php echo ... ?>"
and all the name="..." attributes.<br />
<br />
<br />
To <strong>include your archives:</strong><br />
<br />
<strong><?php include("b2archives.php") ?></strong><br />
this will include the links to your archives, one link per line.<br />
if your archive mode is "monthly", it will display the names
of the months and the years, like "july 2001".<br />
if your archive mode is "post by post", it will display the
titles of your posts, one title per line. if a post is untitled it will
display the ID (number) of this post.<br />
<br />
<br />
To <strong>include the calendar:</strong><br />
<br />
<strong><?php include("b2calendar.php") ?></strong><br />
this will include a table with the current month's calendar, each day
when you posted shows a link to this day's posts. You can customise this
table with CSS classes:
<div class="params"> <strong>.b2calendarmonth {}</strong><br />
<i>the style that is used to display the month and year</i><br />
<strong>.b2calendartable {}</strong><br />
<i>the style of the <table> tag (border etc...)</i><br />
<strong>.b2calendarrow {}</strong><br />
<i>the style of the <tr> tag</i><br />
<strong>.b2calendarheadercell {}</strong><br />
<i>the style of the <td> tag that shows the weekdays
on the top of the table</i><br />
<strong>.b2calendarcell {}</strong><br />
<i>the style of the <td> tags that show the days</i><br />
<strong>.b2calendaremptycell {}</strong><br />
<i>the style of the <td> tags that are empty</i><br />
<strong>.b2calendarlinkpost {}</strong><br />
<i>the style of the link to the post</i><br />
<strong>.b2calendartoday {}</strong><br />
<i>the style of the day if it is today</i> </div>
</blockquote>
<a name="usage"></a> <h1>Query String Usage:</h1>
<p>WordPress relies a lot on the query string, these variables passed with
the URL (note: to pass variables in the querystring, preceed the first
variable name with a '?' question mark and every other variables with
a '&' sign.)</p>
<p>Most of the time you won't have to do anything about it, but if you want
to know how it works, it's here:</p>
<p>How to use the query string:</p>
<blockquote> index.php<strong>?m=200107</strong> will display the month
of July 2001.<br />
<br />
index.php<strong>?m=20010701</strong> will display all posts from July
1st, 2001.<br />
<br />
index.php<strong>?w=20</strong> will display the posts from the 20th week
of the year, where January 1st is in the first week (according to PHP).<br />
<br />
index.php<strong>?p=50</strong> will display the post labeled #50 in the
database.<br />
<br />
index.php<strong>?s=blue+house</strong> will display the posts that match
the search request "blue house".<br />
here is the code for a simple search box:<br />
<br />
<code><form name="searchform" action="<?php echo
$PHP_SELF ?>" method="get"><br />
<input type="text" name="s" /><br />
<input type="submit" name="submit" value="search"
/><br />
</form> </code><br />
<br />
index.php<strong>?cat=1</strong> will display all posts that belong to
category #1 (1 is the default). you can add/rename/delete categories from
b2's interface.<br />
<br />
index.php<strong>?author=1</strong> will display all posts from the author
#1<br />
<br />
index.php<strong>?p=50&c=1</strong> will display the comments and a form
to add a comment below the post.<br />
you should use this variable only with <strong>p=</strong>, example: index.php<strong>?p=50&c=1</strong>.<br />
<br />
index.php<strong>?p=50&tb=1</strong> will display the TrackBacks to the
post #50.<br />
you should use this variable only with <strong>p=</strong>, example: index.php<strong>?p=50&tb=1</strong>.<br />
<br />
index.php<strong>?p=50&pb=1</strong> will display the Pingbacks to the
post #50.<br />
you should use this variable only with <strong>p=</strong>, example: index.php<strong>?p=50&pb=1</strong>.<br />
<br />
index.php<strong>?p=50&more=1</strong> will display the extended entries'
text. this, too, should be used only with <strong>p=</strong>, for individual
entries.<br />
<br />
index.php<strong>?p=50&page=1</strong> will display the first page of
post #50. this, again, should be used only with <strong>p=</strong>, for
individual entries.<br />
<br />
You can also mix these variables, example: index.php<strong>?m=200107&s=hotdog</strong>
will display the posts that match the search request "hotdog",
but only in July 2001. </blockquote>
<p> </p>
<a name="xmlrpc"></a> <h1>XML-RPC Interface:</h1>
<p>WordPress now has a XMLRPC interface. The only API available right now
is the Blogger API (complete specs <a href="http://www.tswoam.co.uk/blogger_method_listing.html">here</a>).
There are talks about a new API that would cover a lot of weblog/CMS systems
in the future: when it's ready, WordPress will support it.</p>
<p> The <a href="http://plant.blogger.com/api">Blogger API</a> has been
completely emulated on WordPress, with some little differences:</p>
<ul>
<li>using <em>blogger.getRecentPosts</em> with the number 'zero' returns
all posts in the blog</li>
<li><em>blogger.getTemplate</em> fetches your file $blogfilename (as specified
in the config), while <em>blogger.setTemplate</em> overwrites it with
the edited data</li>
<li><em>blogger.getUsersBlogs</em> is a dummy function that returns '1'
and $blogname, since b2 supports only one blog as of now</li>
</ul>
<p>If you use blogger.newPost, your post is submitted without title and
in category #1.</p>
<p> However, you can type <title>my title</title> and/or <category>2<category>
in the body of your post to make its title be 'my title' and its category
be #2 (refer to your categories section to find out the ID numbers of
the categories). b2 would then delete that extra info from the body of
your post once it is posted.</p>
<p> You can now post to your b2 blog with tools like <a href="http://blogbuddy.sourceforge.net">BlogBuddy</a>,
<a href="http://bloggar.cjb.net">Bloggar</a>, <a href="http://www.ubique.ch/wapblogger/">WapBlogger</a>
(post from your Wap cellphone!), <a href="http://radio.userland.com">Radio
Userland</a> (which means you can use Radio's email-to-blog feature),
and other tools that support the Blogger API ! :)</p>
<p>Your XMLRPC server/path are as described here: if you login to b2 on
http://mydomain.com/me/b2login.php, then you have:</p>
<ul>
<li>server: http://example.com/me</li>
<li>path: /me/xmlrpc.php</li>
<li>complete URL (just in case): http://example.com/me/xmlrpc.php</li>
</ul>
<p>There's also a b2-specific method: b2.getCategories. Request it with
3 strings: blog_ID (use '1'), username, password. The response is an array
of structs with strings categoryID and categoryName.<br />
<br />
</p>
<p> </p>
<a name="postviaemail"></a> <h1>Post via Email:</h1>
<p>You can post news from an email client!<br />
But first you'll have to edit b2config.php, filling the appropriate values
for your POP3 email account (this interface doesn't support IMAP yet,
only POP3, sorry).</p>
<p> Once you have edited the config options, you can make your webserver
execute b2mail.php every set amount of time (depending on your host's
performance, this script can be resource intensive, so don't make it run
every minute or you'll be kicked).</p>
<p>You can do it with Cron-jobs, or if your host doesn't support it you
can look into the various website-monitoring services, and make them check
your b2mail.php URL.</p>
<h2> Preliminary advice:</h2>
<p> It is strongly advised to send your email as text-only (Outlook and
Outlook Express default to 'html', which may cause problems), but HTML
email could work (the script would strip all your html tags though...).</p>
<p>It is also advised not to use your public email address, but create a
new one especially for this script. If you use your public email address
and the script goes crazy posting every email on your blog and deleting
all your emails, I can't take responsibility for this.</p>
<p>Make sure you delete any email sent to your blog in your 'Sent' folder
too, just in case (you don't want someone to find your login and password
in the 'Sent' folder).</p>
<p> The script will <i>delete</i> the emails that were used to post stuff
on your weblog if it successfully posted your stuff. If it didn't manage
to post, the email is not deleted.</p>
<h2>How to post:</h2>
<p>Now to post something, here's how your email should look like:</p>
<div class="params"> <b>To:</b> [email protected] <span style='color: #999'>(you
set it in the config file)</span><br />
<b>Subject:</b> blog:the post's title <span style='color: #999'>(you can
change 'blog:' in the config file)</span><br />
<b>Body:</b><br>
login:password <span style='color: #999'>(example: <i>Jack:Starwars</i>)</span><br />
The content of the post, blah blah blah.<br />
More blah blah. ___ </div>
<p> Subject must start with 'blog:', or any string you set in the config
file (so that the script doesn't check EVERY email in your mailbox).</p>
<p>Body's first line must always be login:password, else the script will
just skip the email.<br />
If you don't use '___' (or any body terminator that you set in the config
file), the script will post the whole body, which is not what you want
if you send email with Yahoo or Hotmail (you don't want their ads on your
blog, do you ?).</p>
<h2>Special cases for mobile phone email:</h2>
<p> Some mobile phone service providers may allow you to send email with
your mobile phone or PDA, but on such devices you can't always include
line breaks. In such case, you have to set <i>$use_phoneemail = 1</i>
in b2config.php, and then here's how you write the email:</p>
<div class="params"> <b>To:</b> [email protected]<br />
<b>Subject:</b> blog:the post's title <b>:::</b><br />
<b>Body:</b><br>
login:password <b>:::</b> The content of the post, blah blah blah.___
</div>
<p>You will have to append ':::' (or whatever string you set in the config
file) after the subject, and after the login:password.<br />
<br />
Some mobile phone service providers may not allow you to set a subject,
and they'll make the subject be the first characters of the body, in which
case you would send an email like this:</p>
<div class="params"> <b>To:</b> [email protected]<br />
<b>Body:</b><br>
blog:the post's title <b>:::</b> login:password <b>:::</b> The content
of the post, blah blah blah.___ </div>
<p> </p>
<a name="notes"></a> <h1>Notes: </h1>
<p>On multi-user:</p>
<p>New users can register with <code>b2register.php</code>. Then you (as
an admin) click the "+" next to their name on the Team page
in admin to upgrade their level to 1 or more, so they can post. If you
don't want an user to post anymore, just click "-" until their
level is 0.</p>
<p>Note: you can now disable users registration altogether from the config
file.</p>
<p><strong>Levels</strong>:</p>
<ul>
<li> 0 - new user: can't post.</li>
<li>1 - user: can post & edit/delete their own posts.</li>
<li>3 & more - admin: can post, edit/delete other people's posts,
and change the options.</li>
<li>Any user whose level is higher than 1, can edit/delete the posts and
change the level of users whose level is inferior. Example: a level
2 user is not an admin, but can edit the posts of level 1 users, and
up the level of a new user from 0 to 1.</li>
</ul>
<p>Usually, you'll want to have a team of only level 1 users except you.
;)</p>
<p><strong>Note:</strong> you can modify a variable in b2config.php, to
enable new users to post once they've registered.</p>
<p>If you don't want users to register on your blog at all, just delete
b2register.php once you've registered your user account. </p>
<h1><br />
Final notes:</h1>
<ul>
<li>WordPress is functional, but a lot of coding and code clean-up remain
to be done.</li>
<li>If you've got suggestions, ideas, or comments, or if you found a bug,
why not joining us in the <a href="http://wordpress.org/support/">Support
Forums</a>?</li>
<li>If you can code in PHP, you'll see the structure of WordPress is flexible
enough to allow for more functions and sections to be added.</li>
</ul>
<h1><br />
Copyright notes:</h1>
<ul>
<li> Wherever third party code has been used, credit has been given in
the code's comments.</li>
<li>WordPress is released under the <acronym title="GNU Public License">GPL</acronym>
(see license.txt).</li>
</ul></td>
</tr>
</table>
<p> </p>
</body>
</html>